官网:https://element.eleme.io/#/zh-CN
官方定义:网站快速成型工具 和 桌面端组件库;
简介:Element UI 是 基于 Vue 的一个 UI框架,该框架基于 Vue 开发了很多相关组件,方便我们快速开发页面。(也就是说你必须先学习 Vue)
由 饿了么前端团队 基于 Vue 进行开发并且进行了开源;Element UI 中提供的全部都是封装好组件。
Element UI 的使用一切以官方文档为准,这里简单记录个人笔记。
vue create hello-element
npm i element-ui -S
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI); // 在vue脚手架中使用elementui
官方文档 是最好的参考教程!
难得有官方中文的参考文档,上面写的已经很详细了,例子也很多,基本的开发完全没有问题!
每个组件都有 属性、事件、方法。事件和方法的区别在于:事件是去调用自己写的函数,方法相当于它给你写好的函数,你去调用;
掌握 属性、事件、方法 的用法后,所有组件的使用基本都一样。
el-组件名
开头,比如 el-button
是按钮;<el-button>默认按钮el-button>
<el-button type="primary" 属性名=属性值>默认按钮el-button>
@change="aa"
;<el-radio v-model="label" @change="aa" name="sex" label="男">男el-radio>
<el-radio v-model="label" @change="aa" name="sex" border size="small" label="女">女el-radio>
<script>
export default {
name: "Radio",
data(){
return{
label:'男'
}
},
methods:{
aa(){ //定义的事件处理函数
console.log(this.label);
}
}
}
script>
ref="组件别名"
;this.$refs.组件别名.方法名()
调用方法;<h1>方法的使用h1>
<el-input v-model="username" ref="inputs">el-input>
<el-button @click="focusInputs">focus方法el-button>
<el-button @click="blurInputs">blur方法el-button>
<script>
export default {
name: "Input",
data() {
return{}
},
methods:{
// 调用focus方法
focusInputs(){
this.$refs.inputs.focus();
},
// 调用失去焦点方法
blurInputs(){
this.$refs.inputs.blur();
}
}
}
script>
官方文档索引:https://element.eleme.cn/#/zh-CN/component/button
官方文档索引:https://element.eleme.cn/#/zh-CN/component/link
官方文档索引:https://element.eleme.cn/#/zh-CN/component/layout
el-row
和 el-col
组合构成,使用属性时要区分 行属性 与 列属性;
指定每一栏之间的间隔,默认间隔为 0;
用来组合一栏的布局,一栏是分为 24 部分;
中利用 offset
指定分栏偏移的栏数;官方文档索引:https://element.eleme.cn/#/zh-CN/component/container#container-bu-ju-rong-qi
、
、
、
、
;官方文档索引:https://element.eleme.cn/#/zh-CN/component/radio
v-model
和 label
两个属性;官方文档索引:https://element.eleme.cn/#/zh-CN/component/checkbox
官方文档索引:https://element.eleme.cn/#/zh-CN/component/input
Input 为受控组件,它总会显示 Vue 绑定值。
autocomplete 是一个带 输入建议 的输入框组件,也可以自定义输入建议显示模板;
事件的使用:
<el-input v-model="username" @blur="aaa" @focus="bbb"
@clear="clears" clearable @input="ccc">
el-input>
<script>
export default {
name: "Input",
data() {
return {
restaurants: [],
state1: '',
state2: '',
name:'xiaochen',
price:0.0,
username:"",
password:"",
};
},
methods:{
aaa(){
console.log('失去焦点');
;
},
bbb(){
console.log("获取焦点");
},
ccc(value){
console.log("改变:"+value);
},
clears(){
console.log("清楚");
}
}
}
script>
<h1>方法的使用h1>
<el-input v-model="username" ref="inputs">el-input>
<el-button @click="focusInputs">focus方法el-button>
<el-button @click="blurInputs">blur方法el-button>
<script>
export default {
name: "Input",
data() {
return{}
},
methods:{
// 调用focus方法
focusInputs(){
this.$refs.inputs.focus();
},
// 调用失去焦点方法
blurInputs(){
this.$refs.inputs.blur();
}
}
}
script>
官方文档索引:https://element.eleme.cn/#/zh-CN/component/select
<el-select v-model="cityId" @change="aaa" multiple clearable>
<el-option v-for="option in options" :label="option.name"
:value="option.id" :key="option.id">
el-option>
el-select>
<script>
export default {
name: "Select",
data(){
return{
options:[
{id:'1',name:"研发部"},
{id:'2',name:"小卖部"},
{id:'3',name:"小米部"},
],
cityId:'',
cityName:''
}
},
methods:{
aaa(value){
console.log(value);
}
}
}
script>
1.给组件通过ref起别名并绑定到vue实例中
<el-select ref="selects" v-model="cityId" @change="aaa" multiple clearable>
....
el-select>
2.调用方法
this.$refs.selects.focus(); //方法调用
官方文档索引:https://element.eleme.cn/#/zh-CN/component/switch
<el-switch v-model="value" @change="aaa">el-switch>
<script>
export default {
name: "Switchs",
data(){
return{
value:true
}
},
methods:{
aaa(value){
console.log(value);
}
}
}
script>
<el-switch v-model="value" ref="sw">el-switch>
<el-button @click="bbb">调用方法el-button>
<script>
export default {
name: "Switchs",
data() {
return {
value: true
}
},
methods: {
bbb() {
alert();
this.$refs.sw.focus(); //方法调用
}
}
}
script>
官方文档索引:https://element.eleme.cn/#/zh-CN/component/date-picker
官方文档索引:https://element.eleme.cn/#/zh-CN/component/upload
使用 Upload组件 必须设置 action
属性,action
属性为必要参数不能省略;
Upload组件 没有 Event事件,所有事件都是 Attribute属性;
方法的使用:
<el-upload ref="uploads" ....>........el-upload>
// 方法调用:
this.$refs.uploads.clearFiles();
this.$refs.uploads.abort();
this.$refs.uploads.submit();
官方文档索引:https://element.eleme.cn/#/zh-CN/component/form
rules
属性传入约定的验证规则,并将 Form-Item 的 prop
属性设置为需校验的字段名即可;官方文档索引:https://element.eleme.cn/#/zh-CN/component/alert
官方文档索引:https://element.eleme.cn/#/zh-CN/component/message
官方文档索引:https://element.eleme.cn/#/zh-CN/component/table