赞
踩
官网介绍: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
vue-cli
创建的项目里安装 element-ui (推荐使用npm的方式安装,它能更好地和webpack打包工具配合使用。)npm install element-ui
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 的组件的加载方式使用的是全局加载,就是我们在使用 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 默认情况下,使用了一套颜色来显示相关的组件,例如 使用 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 文件
国际化指的就是做的项目可以在多个国家使用(根据每个国家对应的语言,显示与之对应的语言信息)一般把这种项目叫做 i18n 项目
国际化( internationalization 这个单词存在 18 个字符,取其首位则为 i18n )
import ElementUI from 'element-ui'
import locale from 'element-ui/lib/locale/lang/en'
Vue.use(ElementUI, { locale })
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。