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打开其他项目页面并传入数据详解
Nov 25 Vue.js
vue 动态生成拓扑图的示例
Jan 03 Vue.js
vuex的使用步骤
Jan 06 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
vue-cli4.5.x快速搭建项目
May 30 Vue.js
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
vue+element ui实现锚点定位
Jun 29 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
vue+elementUI实现表格列的显示与隐藏
Apr 13 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 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函数
2010/02/16 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
python实现飞机大战微信小游戏
2020/03/21 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
旅游市场营销方案
2014/03/09 职场文书
春季防火方案
2014/05/10 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
企业文化理念标语
2014/06/10 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
二手车转让协议书
2015/01/29 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL