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 + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
vue el-upload上传文件的示例代码
Dec 21 Vue.js
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
Vue实现下拉加载更多
May 09 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
Vue实现导入Excel功能步骤详解
Jul 03 Vue.js
vue ref如何获取子组件属性值
Mar 31 Vue.js
Vue+Flask实现图片传输功能
Apr 01 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独立Session数据库存储操作类分享
2014/06/11 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
演讲比赛策划方案
2014/06/11 职场文书
学校端午节活动方案
2014/08/23 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android