vue3+ant design vue+ts实战【ant-design-vue组件库引入】

这篇具有很好参考价值的文章主要介绍了vue3+ant design vue+ts实战【ant-design-vue组件库引入】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔥🔥更多内容见Ant Design Vue官方文档
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
🔥点击复习vue3【watch检测/监听】相关内容
👏👏👏一个好项目的编写不仅需要完美的逻辑,以及相应的技术,同时也需要一个 设计规范的高质量UI组件库。👏👏👏本期文章将会详细讲解 Ant Design of Vue 组件库的 安装、使用、引入

Ant Design Vue

Ant Design Vue 是使用 Vue 实现的遵循 Ant Design 设计规范的高质量 UI 组件库,用于开发服务于企业级中后台产品

在开始之前,推荐先学习vue 👏点击跳转vue专栏和 ES2015👏点击跳转ES6专栏,并正确安装和配置了 Node.js v8.9 或以上。官方指南假设你已了解关于HTML、CSS 和 JavaScript 的中级知识,并且已经完全掌握了 Vue 的正确开发方式。如果你刚开始学习前端或者 Vue,将 UI 框架作为你的第一步可能不是最好的主意。

antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
特性

  • 提炼自企业级中后台产品的交互语言和视觉风格。
  • 开箱即用的高质量 Vue 组件
  • 共享 Ant Design of React 设计工具体系。

支持环境

  • 现代浏览器和 IE9 及以上(需要 polyfills)。
  • 支持服务端渲染

🔥安装引入🔥

推荐使用npmyarn安装

不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。

🔥安装

在项目文件夹新建终端 => 在命令行输入以下指令

npm install ant-design-vue --save
yarn add ant-design-vue

安装成功后,在文件夹目录下的package.json文件中,可以看到ant-design-vue的依赖已经安装成功
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

🔥全局引入

main.ts文件中导入以下代码:【详细解释已标明注释】
基础代码:(完整实用版代码见下👇)

import { createApp } from 'vue';
import Antd from 'ant-design-vue'; // 引入组件库
import App from './App';
import 'ant-design-vue/dist/antd.css';

const app = createApp(App);

app.use(Antd).mount('#app');

完整引入代码

import { createApp } from 'vue' // 固定导入
import App from './App';
import './assets/css/global.css' // 设置全局样式
// 关于如何清楚全局样式会专门出一期文章进行说明
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css'; // 引入antdv组件库的css文件
import { Button, message, Form, Input, Checkbox, Menu, Layout, BreadcrumbTag,Table,Select,DatePicker,Spin,Switch,
  ConfigProvider } from 'ant-design-vue'; // 引入antdv中常用的组件【基本上就这些,如果有需要全局进入的,再另行添加】

const app = createApp(App) // 方便表达

app.use(router).use(Button).use(Form).use(Breadcrumb).use(Tag).use(ConfigProvider).use(Switch)
.use(Input).use(Checkbox).use(Menu).use(Layout).use(Table).use(Select).use(DatePicker).use(Spin)
.mount('#app'); // 自动注册这些组件下的子组件 例如Button下的Button.Group
app.config.globalProperties.$message = message; // 为message设置全局样式

🔥局部引入

  • 局部引入也可成为手动按需引入。无需在main.ts中设置全局样式,只需要在vue文件中相应的导出和引入即可
  • 此种方式需要分别注册组件子组件,如 Button、ButtonGroup,并且注册后仅在当前组件中有效

手动引入模块

import { DatePicker } from 'ant-design-vue';
import DatePicker from 'ant-design-vue/lib/date-picker'; // 加载 JS
import 'ant-design-vue/lib/date-picker/style/css'; // 加载 CSS
// import 'ant-design-vue/lib/date-picker/style';         // 加载 LESS

示例:button按钮样式的引入

<template>
  <a-button>Add</a-button> // 使用=>在页面中显示
</template>
<script setup lang="ts">
  import { Button } from 'ant-design-vue'; // 引入button样式
</script>

🔥实战操作🔥

这里简单的举几个例子,按钮Button导航栏菜单menu表单form。通过这几个例子顺便学习如何阅读和使用官方文档。

Button按钮样式

文档中有详细的使用说明👇👇👇
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
基础按钮:

<template>
  <a-button type="primary">主按钮Primary Button</a-button>
  <a-button>次按钮Default Button</a-button>
  <a-button type="dashed">虚线按钮Dashed Button</a-button>
  <a-button type="text">文本按钮Text Button</a-button>
  <a-button type="link">链接按钮Link Button</a-button>
</template>

显示效果:
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
危险按钮:

<template>
  <div>
    <a-button type="primary" danger>Primary</a-button>
    <a-button danger>Default</a-button>
    <a-button type="dashed" danger>Dashed</a-button>
    <a-button type="text" danger>Text</a-button>
    <a-button type="link" danger>Link</a-button>
  </div>
</template>

显示效果:
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

Menu 导航菜单

文档中有详细的使用说明👇👇👇
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
基础格式:最简单的菜单

<template>
  <a-menu>
    <a-menu-item>菜单项</a-menu-item>
    <a-sub-menu key="sub1" title="子菜单">
      <a-menu-item>子菜单项</a-menu-item>
    </a-sub-menu>
  </a-menu>
</template>

如果想让menu高级起来,那你一定要知道文档里的API部分

蓝色框的内容是各种Menu类型,可根据需求选择
红色框的API则是Menu的属性,可以通过其中的属性设置你想要实现的效果

antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
顶部导航栏:

<template>
  <a-menu v-model:selectedKeys="current" mode="horizontal">
    <a-menu-item key="mail">
      <template #icon>
        <mail-outlined />
      </template>
      Navigation One
    </a-menu-item>
    <a-menu-item key="app" disabled>
      <template #icon>
        <appstore-outlined />
      </template>
      Navigation Two
    </a-menu-item>
    <a-sub-menu>
      <template #icon>
        <setting-outlined />
      </template>
      <template #title>Navigation Three - Submenu</template>
      <a-menu-item-group title="Item 1">
        <a-menu-item key="setting:1">Option 1</a-menu-item>
        <a-menu-item key="setting:2">Option 2</a-menu-item>
      </a-menu-item-group>
      <a-menu-item-group title="Item 2">
        <a-menu-item key="setting:3">Option 3</a-menu-item>
        <a-menu-item key="setting:4">Option 4</a-menu-item>
      </a-menu-item-group>
    </a-sub-menu>
    <a-menu-item key="alipay">
      <a href="https://antdv.com" target="_blank" rel="noopener noreferrer">
        Navigation Four - Link
      </a>
    </a-menu-item>
  </a-menu>
</template>

<script>
import { ref } from 'vue';
import { MailOutlined, AppstoreOutlined, SettingOutlined } from '@ant-design/icons-vue'; // 引入icon图标
const current = ref(['mail']);
</script>

antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

Form 表单

文档中有详细的使用说明👇👇👇
antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

<template>
  <a-form
    layout="inline"
    :model="formState"
    @finish="handleFinish"
    @finishFailed="handleFinishFailed"
  >
    <a-form-item>
      <a-input v-model:value="formState.user" placeholder="Username">
        <template #prefix><UserOutlined style="color: rgba(0, 0, 0, 0.25)" /></template>
      </a-input>
    </a-form-item>
    <a-form-item>
      <a-input v-model:value="formState.password" type="password" placeholder="Password">
        <template #prefix><LockOutlined style="color: rgba(0, 0, 0, 0.25)" /></template>
      </a-input>
    </a-form-item>
    <a-form-item>
      <a-button
        type="primary"
        html-type="submit"
        :disabled="formState.user === '' || formState.password === ''"
      >
        Log in
      </a-button>
    </a-form-item>
  </a-form>
</template>
<script>
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue';
import { defineComponent, reactive } from 'vue';
    
    const formState = reactive({
      user: '',
      password: '',
    });

    const handleFinish = values => {
      console.log(values, formState);
    };

    const handleFinishFailed = errors => {
      console.log(errors);
    };

</script>

antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

注意

  • 文档中并未使用setup语法编写,所以在使用的时候需要对代码进行一定修改。改成最新的setup语法
  • 使用组件时,最好是先实现文档例子的效果,再在其基础上修改以实现所需效果
  • 例子可以在CodeSanbox中编写预览。
    antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui
  • 显示代码功能
    antdesign vue,Vue,ant design vue,vue.js,前端,typescript,anti-design-vue,ui

summary

以上就是关于Ant Design Vue组件库的安装引入和使用的相关内容。若有不足,期待各位大佬的指正!文章来源地址https://www.toymoban.com/news/detail-784241.html

下期预告

v-for循环实现菜单栏🔥

菜单栏中用两种方法处理有无children的问题🔥🔥

到了这里,关于vue3+ant design vue+ts实战【ant-design-vue组件库引入】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Ant-design-vue AutoComplete 自动补全组件的使用

    AutoComplete 是一个输入框自动完成功能,在输入时提个建议或者辅助提示。 和 Select 的区别是: AutoComplete 是一个带提示的文本输入框,用户可以自由输入,是辅助输入 Select 是在限定的可选项中进行选择,是选择。 使用案例如下: filterOption 是否根据输入项进行

    2024年02月12日
    浏览(8)
  • ant-design-vue中table组件使用customRender渲染v-html

    ant-design-vue遇到table中列表数据需要高亮渲染 1、customRender可以使用,但是使用v-html发现不生效还报错 2、customRender函数返回肯定是jsx语法,于是发现这样写可以

    2024年02月15日
    浏览(16)
  • ant-design-vue在ios使用AUpload组件唤起了相机,HTML的 `capture` 属性

    ant-design-vue在ios使用AUpload组件唤起了相机,HTML的 `capture` 属性

    在使用ant design vue组件的上传组件AUpload的时候有一个问题,直接按照demo写,在ios上会唤起相机,但是实际上我们的需求是弹出选择相册/相机这个弹框。 解决办法是加一个 cupture=\\\"null\\\"这个属性即可 HTML attribute: capture - HTML: HyperText Markup Language | MDN The capture attribute specifies that

    2024年02月12日
    浏览(9)
  • vue3+element-plus的后台管理系统模板 和 vue3+ant-design-vue的后台管理系统模板

    vue3+element-plus的后台管理系统模板 和 vue3+ant-design-vue的后台管理系统模板

    规范 :后台系统模板,按照企业级别的规范搭建的。 权限控制 :通过后端返回的路由表(这个路由表是由前端这边在系统配好的然后存储在后端的)来动态渲染菜单和注册路由,同时也根据页面内的接口权限对页面中的按钮做了是否可见的设置。前端这边有 路由、角色、用

    2024年02月08日
    浏览(12)
  • Vue3 - 解决使用 Tailwindcss 后导致 UI 组件库样式受影响,引入后发现项目组件库的组件样式不对了(Element/Ant Design Vue/Naive UI/TDesign)

    网上的教程都无法解决,但本文可以帮助您快速解决该问题。 当项目引入 Tailwind css 后,使用 UI 组件库的某些组件时,发现有些样式丢失及显示错位、背景色丢失等问题, 频发于【按钮组件】背景色丢失 | 【message消息提示组件】样式位置变形等,严重的整个组件库样式都乱

    2024年02月07日
    浏览(14)
  • vue3使用Vite打包报Rollup failed to resolve import “xxx/node_modules/ant-design-vue/xxxx

    在使用vue3 + vite + ant design vue 的时候,引入一些antd的一些组件的时候,通常运行是没有错的,但是打包会报错,例如: Rollup failed to resolve import \\\"D:/xxxxx/node_modules/ant-design-vue/es/form-item-rest/style/index\\\" from \\\"src/views/xxx/xxx.vue\\\". 15:01:51 This is most likely unintended because it can break your applic

    2024年02月16日
    浏览(7)
  • 关于 ant-design-vue resetFields 失效

    关于 ant-design-vue resetFields 失效

    关于 ant-design-vue resetFields 失效 背景: 遇到这样的问题使用 ant-design-vue useForm 来制作表单的时候, resetFields()失效 场景: 编辑 -赋值 新增 -初始值(问题点:新增的时候他就不 初始化 ) 方案: 1、调用 resetFields() 传参 2、要么使用 reactive 明确定义初始值 解释: 首先我这里讲

    2024年01月17日
    浏览(13)
  • vue2+ant-design-vue a-select组件二次封装(支持单选/多选添加全选/分页(多选跨页选中)/自定义label)

    vue2+ant-design-vue a-select组件二次封装(支持单选/多选添加全选/分页(多选跨页选中)/自定义label)

    参数 说明 类型 默认值 v-model 绑定值 boolean / string / number/Array - mode 设置’multiple’\\\'tags’多选 (显示全选) String - optionSource 下拉数据源 Array - width select宽度(可以设置百分比或px) String 100% customLabel 是否自定义设置下拉label String - valueKey 传入的 option 数组中,要作为最终选择

    2024年02月08日
    浏览(15)
  • ant-design-vue 自由切换 暗黑模式dark

    ant-design-vue 自由切换 暗黑模式dark

    思路 引入 dark.css 文件 动态切换 prefixCls 实现效果 我们来看看官网怎么说的 官网地址 除了 less 定制主题 外,我们还提供了 CSS Variable 版本以支持动态切换主题能力。你可以在 ConfigProvider 进行体验。 调用 ConfigProvider 配置方法设置主题色: 默认情况下,CSS Variable 会以 --ant 作

    2023年04月21日
    浏览(8)
  • ant-design-vue表格Table行内新增、编辑、删除

    ant-design-vue表格Table行内新增、编辑、删除

    ant-design-vue表格Table进行单元格内新增、编辑、删除等操作 如图所示:

    2024年02月14日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包