ElementUI 的使用及自定义设置

mac2026-04-09  5

什么是 ElementUI

官网介绍:Element,一套为开发者,设计师和产品经理准备的基于Vue 2.0的桌面端组件库

在开发的过程中,很多时候有很多的部分是可以被公共的时候,例如导航,底部的选项卡(手机web app)我们可以自己去开发,也可以使用第三方公司专门开发的这些组件库(UI组件库),ElementUI 就是其中的一种,还有几个比较好的:

1: MintUI (饿了么前端团队为M站项目开发的) http://mint-ui.github.io/docs/#/zh-cn2/radio

2: Iview (个人爱好者开发的一个组件库) https://www.iviewui.com/components/rate

3: vant (有赞公司开发的,有赞商城) https://youzan.github.io/vant-weapp/#/area

如何使用 ElementUI

1:在 vue-cli 创建的项目里安装 element-ui (推荐使用npm的方式安装,它能更好地和webpack打包工具配合使用。)
npm install element-ui
2:在 main.js 文件中写入如下代码
import ElementUI from 'element-ui' //引入相关的组件(一般我门将第三方组件称为插件) import 'element-ui/lib/theme-chalk/index.css' //组建的样式 Vue.use(ElementUI) //安装插件,然后我们就可以使用了
然后我们只需要把官网上我们需要的代码拿过来就好了

我们用一下,我在 about.vue 组件中加上从官网上拿来的代码(一个折叠面板)

<template> <div class="about"> //从官网上复制过来的 <el-collapse v-model="activeNames" @change="handleChange"> <el-collapse-item title="一致性 Consistency" name="1"> <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div> <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div> </el-collapse-item> <el-collapse-item title="反馈 Feedback" name="2"> <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div> <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div> </el-collapse-item> <el-collapse-item title="效率 Efficiency" name="3"> <div>简化流程:设计简洁直观的操作流程;</div> <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div> <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div> </el-collapse-item> <el-collapse-item title="可控 Controllability" name="4"> <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div> <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div> </el-collapse-item> </el-collapse> </div> </template> <script> export default { data() { return { activeNames: ['1'] }; }, methods: { handleChange(val) { console.log(val); } } } </script>

运行一下,我们就能看到效果(它和 bootstrap类似)

实现 ElementUI 组件的按需加载

什么是按需加载和全局加载

全局加载:默认情况,ElementUI 的组件的加载方式使用的是全局加载,就是我们在使用 Vue.use(ElementUI) (Vue.prototype.components= { })安装这个组件的时候,默认情况下,是把ElementUI的所有的组件全部进行注册,然后可以在任何地方使用提供的组件 按需加载:需要什么就引入什么组件 很少有一个项目会使用到ElementUI的所有的组件,我们做的项目一般只需要使用一部分的ElementUI的组件,则我们更应该是做组件的按需加载

按需加载的实现方式

1:需要安装一个第三方的 loader(做代码的转换操作)

yarn add babel-plugin-component

2:修改babel.config.js 文件

module.exports = { presets: [ '@vue/cli-plugin-babel/preset', ["es2015", { "modules": false }] ], "plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ] }

3:根据需要注册自己需要的组件 如我要引入 Button 和 Select ,我们只主需要注册这两个组件即可

import { Button, Select } from 'element-ui'; Vue.component(Button.name, Button); Vue.component(Select.name, Select); /* 或写为 * Vue.use(Button) * Vue.use(Select) */

4:在需要的地方写代码

<el-row> <el-button round>圆角按钮</el-button> <el-button type="primary" round>主要按钮</el-button> <el-button type="success" round>成功按钮</el-button> <el-button type="info" round>信息按钮</el-button> <el-button type="warning" round>警告按钮</el-button> <el-button type="danger" round>危险按钮</el-button> </el-row>

就能看到效果

ElementUI 主题色的设置

ElementUI 默认情况下,使用了一套颜色来显示相关的组件,例如 使用 primary 就是蓝色, success 就是绿色,使用一种语义化的方式去描述相关的颜色,一般情况下来说,官方提供的颜色就可以满足绝大部分项目的需求,但是有的时候公司不太喜欢默认的颜色,希望自己去更改一下ElementUI的颜色。则ElementUI提供修改颜色的机会,一般我们把这些颜色也叫作主题

修改方式一:主题编辑器

提供web版本的界面,让用户去配置自己喜欢的主题色,然后进行下载一个 css 文件,然后在自己项目导入即可

将下载好的文件放到 src 下,然后引入就行

修改方式一:命令行工具

1:安装主题生成工具

npm i element-theme -g

2:下载主题

npm i element-theme-chalk

3:初始化变量文件 element-variables.scss

et -i

4:在文件(element-variables.scss)里修改变量 5:编译

et

6:导入 index.css 文件

ElementUI 的国际化

国际化指的就是做的项目可以在多个国家使用(根据每个国家对应的语言,显示与之对应的语言信息)一般把这种项目叫做 i18n 项目

i18n 是什么?

国际化( internationalization 这个单词存在 18 个字符,取其首位则为 i18n )

1:完整引入

import ElementUI from 'element-ui' import locale from 'element-ui/lib/locale/lang/en' Vue.use(ElementUI, { locale })

1:按需引入

import Vue from 'vue' import { Button, Select } from 'element-ui' import lang from 'element-ui/lib/locale/lang/en' import locale from 'element-ui/lib/locale' // 设置语言 locale.use(lang) // 引入组件 Vue.component(Button.name, Button) Vue.component(Select.name, Select)

最新回复(0)