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 24 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
vue中axios封装使用的完整教程
Mar 03 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 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中Session的概念
2006/10/09 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
js jquery数组介绍
2012/07/15 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python解析中国天气网的天气数据
2014/03/21 Python
Python新手实现2048小游戏
2015/03/31 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
Python进程间通信Queue实例解析
2018/01/25 Python
python安装教程
2018/02/28 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
python怎么删除缓存文件
2020/07/19 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
最新结婚典礼主持词
2014/03/14 职场文书
研发工程师岗位职责
2014/04/28 职场文书
保护野生动物倡议书
2014/05/16 职场文书
2014年共青团工作总结
2014/12/10 职场文书
三孔导游词
2015/02/05 职场文书
端午节寄语2015
2015/03/23 职场文书
奖励申请报告范文
2015/05/15 职场文书
Minikube搭建Kubernetes集群
2022/03/31 Servers
Python OpenCV之常用滤波器使用详解
2022/04/07 Python