【vue2】ElementUI与VantUI组件库的使用详解(vue全家桶之一)

简介: ElementUI与VantUI组件库的使用详解

一、UI组件库介绍

整合资源,提高团队的开发效率。说白了就是让前端工程师专注于写代码,将UI样式实现样式逻辑进行一个整合。比如拿轮播图举例子,我们如果用纯javaScript代码进行书写,可能需要一会儿的功夫,可能是实现了但是样式等还是比较刻板不够生动。可用了UI组件呢?也许只是10分钟就可以将这个轮播图的功能做出来且样式已经帮我们写好了,我们不需写额外的样式等只需要专注业务逻辑上的实现即可

二、ElementUI组件库(PC端常用)

2.1ElementUI介绍

ElementUI官方:首页 | Element

很清楚就把我们这个组件库的作用体现出来了:网站快速成型工具

9504e16c167548b58a0c1b680290a5fa.png

官网介绍的四大使用特性:

一致性 Consistency

与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;

在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。

反馈 Feedback

控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;

页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。

效率 Efficiency

简化流程:设计简洁直观的操作流程;

清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;

帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。

可控 Controllability

用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;

结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。

2.2使用方法

因所涉及到的组件居多,但是安装注册的方法是一样的,使用就需要自己去翻阅组件里面的文档自己找~

c63101d5731f4b329fc280c368212f76.png

1.通过npm下载下我们的组件库

npm i element-ui -S

2.按需引入/完整引入

大家请点开下面官方这个链接进行同步演示喔~

组件 | Element

3f8e0bbeebd94e74a0049aca326aaee2.png

完整引入比较省事因为不再需要用一个组件导入一个组件了。但是缺点也明显就是这样的话文件体积会变大。因此我们根据项目所需要的组件来判断,需要大量的组件我们就用完整引入,只需要一些组件即可我们推荐使用按需导入的方式来使用我们UI组件库

下面我将用官方的按需导入方式来实现我们的UI组件的使用

3.按需引入,安装安装 babel-plugin-component:

5ee4f56f737e472e8d9507d367728d09.png

4.修改.babelrc也就是修改babel.config.js

75dcf8119a084229a1a60384581a63ea.png

5.便于我们封装便于管理,因此我们更推荐自己新建一个文件夹来统一管理我们的UI组件,通常为utils/element.js这个文件

演示组件名称:Button按钮

ae6d4f4896f2458c968d94afae48d016.png

我们将这个组件进行一个引入

3a18e23e377144ecb90214ca0a15c6a1.png

6.在main.js中接收导出的文件进行组件的注册

53a32a12518e4f39a5b6f7068faa61ad.png

7.去页面中写上组件进行测试

4a46d6cef2104e48958404fb631c522d.png

当我们直接使用了没有注册会发生什么呢?

b36c6f4d785e4bb59a0b5607f206baf0.png

会提示我们这个组件没有注册,那行我们去注册一下

3e9afdf0b2b64ef5bfe45049b87973a0.png

8. 没注册的时候会提示我们进行注册组件,那么我们注册看下。完美了~

41709172ae72401bb887d39e4bd1cf22.png

以上便是我们ElementUI组件的注册导入方法,具体的组件使用则需要去看我们的组件库去看ElementUI的官方库再一一设置自己想要的结果

d1e8a9b96b1343a69102f4de777a7e9b.png

三、VantUI组件库(移动端常用)

3.1VantUI介绍

官方指南:Vant 2 - 轻量、可靠的移动端组件库

Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。

a5889607a5094b5491fa6a2e962652f3.png

目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。

特性:

🚀 性能极佳,组件平均体积小于 1KB(min+gzip)

🚀 65+ 个高质量组件,覆盖移动端主流场景

💪 使用 TypeScript 编写,提供完整的类型定义

💪 单元测试覆盖率超过 90%,提供稳定性保障

📖 提供完善的中英文文档和组件示例

📖 提供 Sketch 和 Axure 设计资源

🍭 支持 Vue 2、Vue 3 和微信小程序

🍭 支持主题定制,内置 700+ 个主题变量

🍭 支持按需引入和 Tree Shaking

🍭 支持服务器端渲染

🌍 支持国际化和语言包定制

3.2使用方法

同上述Element框架学习使用方法一样,我们还是看官方文档

快速上手指南:Vant 2 - 轻量、可靠的移动端组件库

1.下载vant

ac1abc567eb1487b89d3a05874707386.png

2.按需引入组件

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式。

安装插件:

npm i babel-plugin-import -D

176b767627ea4dec82ea8206d640fc17.png

3.这次我们引入刷新下拉的组件试试

abde034370e54e1381048262aaf1da0c.png

创建文件开始引入

8af14267c12e490e99ff467057e60f4d.png

导入到main.js中

6ebc59c4b68a4662b4f7702237a480cc.png

页面上写下:

3c0e7865388d4633ba321fb3b7bb3dad.png

4.效果查看:

78de2a505a774695848cb1bd36d31d8a.gif


相关文章
|
13天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
28 1
vue学习第四章
|
13天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
26 1
vue学习第九章(v-model)
|
13天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
28 1
vue学习第十章(组件开发)
|
6天前
|
前端开发 JavaScript 测试技术
Vue3中v-model在处理自定义组件双向数据绑定时,如何避免循环引用?
Web 组件化是一种有效的开发方法,可以提高项目的质量、效率和可维护性。在实际项目中,要结合项目的具体情况,合理应用 Web 组件化的理念和技术,实现项目的成功实施和交付。通过不断地探索和实践,将 Web 组件化的优势充分发挥出来,为前端开发领域的发展做出贡献。
20 8
|
6天前
|
JavaScript
在 Vue 3 中,如何使用 v-model 来处理自定义组件的双向数据绑定?
需要注意的是,在实际开发中,根据具体的业务需求和组件设计,可能需要对上述步骤进行适当的调整和优化,以确保双向数据绑定的正确性和稳定性。同时,深入理解 Vue 3 的响应式机制和组件通信原理,将有助于更好地运用 `v-model` 实现自定义组件的双向数据绑定。
|
18天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
26 3
|
18天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
37 2
|
JavaScript
Vue的非父子组件之间传值
全局事件总线 一种组件间通信的方式,适用于任意组件间通信
|
缓存 JavaScript 前端开发
Vue Props、Slot、v-once、非父子组件间的传值....
Vue Props、Slot、v-once、非父子组件间的传值....
84 0
|
JavaScript
Vue中父子组件传值
先在⽗组件中给⼦组件的⾃定义属性绑定⼀个⽗组件的变量