vue3.0中友好使用antdv示例详解


Posted in Vue.js onJanuary 05, 2021

前言

随着我们vue3.0的出现,我们的ui组件库也有了一些变化,像我们的旧版的element-ui已经不能在vue3.0中使用了,如果要使用element的话需要使用最新版的element-plus,由于发现它并不太好用,因此我选择了Ant Design Vue。

如果我们以前经常使用antd的话,我们使用起来这个上手会非常方便。

在vue3.0中引入我们的antdv

1.首先使用我们的vue/cli创建vue3.0项目并使用less

2. 在vue3.0中使用的话我们需要安装 ant-design-vue@next 版本,安装完之后,我们只需要在main.js文件中把antdv引入到全局(由于博主比较懒,为了省事,并没有按需加载),这样我们就可以使用所有的组件了(icon除外)。如果想按需加载请参考 官方文档。

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.config.productionTip = false;

app.use(Antd);

在项目中使用图标(icon)

在我们vue3.0中我们使用icon需要在我们使用的地方额外的引入我们的icon库,如下写法

import { UserOutlined } from '@ant-design/icons-vue';

由于我们的vue的标签并不支持驼峰命名法,在我们的template中使用的时候需要,换成短横线的连接的方式如下:

<user-outlined />

在项目中定制主题(遇坑)

antd 的样式使用了 Less 作为开发语言,并定义了一系列全局/组件的样式变量,你可以根据需求进行相应调整。
我们有两种方式可以定制主题:一是创建我们的vue.config.js文件进行配置,二是创建一个less文件进行变量覆盖。

创建vue.config.js文件

module.exports = {
 css: {
 loaderOptions: {
  less: {
  lessOptions: {
   modifyVars: {
   'primary-color': '#1DA57A',
   'link-color': '#1DA57A',
   'border-radius-base': '2px',
   },
   javascriptEnabled: true,
  },
  },
 },
 },
};

并且我们要把main中改为如下

import { createApp } from 'vue';
import Antd from 'ant-design-vue';
import App from './App';
- import 'ant-design-vue/dist/antd.css';
+ import 'ant-design-vue/dist/antd.less';
const app = createApp();
app.config.productionTip = false;

app.use(Antd);

经过这个配置后我们可能会发现我们的主题并没有生效。他不报错也没有任何提示,这个时候我又去看文档发现自己遗漏了很重要的一条信息,如下图:

vue3.0中友好使用antdv示例详解

我们的这个less-loader必须是6.0.0的

但是这个啥时候我看vue/cli中默认下载的是5.0.0的包。因此在把less-loader升级到6.0.0之后,问题也就解决了。

2. 建立一个单独的 less 变量文件,引入这个文件覆盖 antd.less 里的变量。

@import '~ant-design-vue/dist/antd.less'; // 引入官方提供的 less 样式入口文件
@import 'your-theme-file.less'; // 用于覆盖上面定义的变量

具体还是参考我们的 官方文档。

按需加载很重要!!! 但是由于博主很懒。暂时还没有在vue3.0尝试。

到此这篇关于vue3.0中友好使用antdv的文章就介绍到这了,更多相关vue3.0使用antdv内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 Vue.js
在Vue中使用mockjs代码实例
Nov 25 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
jenkins自动构建发布vue项目的方法步骤
Jan 04 Vue.js
Vue 数据响应式相关总结
Jan 28 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
vue+element ui实现锚点定位
Jun 29 Vue.js
vue 给数组添加新对象并赋值
Apr 20 Vue.js
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 #Vue.js
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 #Vue.js
jenkins自动构建发布vue项目的方法步骤
Jan 04 #Vue.js
vue3弹出层V3Popup实例详解
Jan 04 #Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 #Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 #Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 #Vue.js
You might like
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
大学军训通讯稿
2014/01/13 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
2014年教师节活动总结
2014/08/29 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
python 实现体质指数BMI计算
2021/05/26 Python
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记