el-tree 树形控件

<el-tree
      // 要在此组件内渲染的数据
      :data="data"

      // 指定树节点的属性值
      :props="defaultProps"

     // 是否展开所有的子节点
      :default-expand-all="true"

     // 只有在点击节点箭头才能展开子节点
      :expand-on-click-node="false"

     // 当点击节点时会回调
      @node-click="handleNodeClick"
    >
</el-tree>

el-table 表格

// element-ui 表格控件 
<el-table 

// 对应的数据
:data="employList">

// 表格的一列
<el-table-column

// 这一列的数据 
prop="username"

// 这一列的表头
 label="姓名" />

</el-table>

el-pagination 分页组件

<el-pagination
            
            // 当前页数,支持.sync
            :current-page="queryObj.page"

            // 当前显示几条数据
            :page-sizes="[5, 7, 10, 15]"

             // 给分页按钮添加背景色
            :background="true"

            // 总共是多少条数据
            :total="total"

            // 每页显示多少条,支持.sync
            :page-size="queryObj.pagesize"

            // 分页的要显示和使用的组件,组件布局,子组件名用逗号分隔
            layout=" sizes,prev, pager, next"

            // 当前页改变时触发
            @current-change="hCurrent"

           // 每页条数改变时触发
            @size-change="handleSizeChange"
          />

el-form 表单

<el-form 

   // 相当于在这里定义了一个类名,可以通过 this.$refs     在script中调用
   ref="userForm"

 // 响应式,表单数据对象
 :model="userInfo"

 // 表单校验,	表单验证规则
 :rules="rules"

 // 宽度
 label-width="220px">

 // 表单中的一项
   <el-form-item 

 // 标题
label="姓名" 

// 	表单域 model 字段,传入 Form 组件的 model 中的字段
prop="username">


// 和 input 没什么区别
 <el-input 

// 一个响应式的语法糖,相当于 :value和@input
v-model="userInfo.username" 

// 占位符
placeholder="请输入姓名" 

// 	用于控制该表单域下组件的尺寸
size="mini" 

// 处理样式
class="inputW" />

</el-form-item>

</el-form>

el-switch 开关

// Switch 开关
<el-switch

// 绑定v-model到一个Boolean类型的变量,可以使用active-color属性与inactive-color属性来设置开关的背景色。
  v-model="value"

// 开 返回值
 active-value="1"

// 关 返回值
inactive-value="0"

// 开 color
  active-color="#13ce66"

//关 color
  inactive-color="#ff4949">
</el-switch>

el-cascader 级联选择器

// Cascader 级联选择器  
 <el-cascader

      // 样式  
      class="inputW"

     // 尺寸
      size="mini"

      // value 值
      :value="value"

     // 连接各个分级的连接符
      separator=" - "

     // 对应的数据,让其对应
      :props="defaultProp"

     // 数据源
      :options="options"

     // change 事件
      @change="handleChange"
    />

el-upload 上传

// Upload 上传
  <el-upload

    class="avatar-uploader"

    // action是上传地址,即使不使用也不能删除,可以为空 
    action=""

    //show-file-list不展示列表 
    :show-file-list="false"

   // 文件上传成功时的钩子
    :on-success="handleAvatarSuccess"

    // 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。
    :before-upload="beforeAvatarUpload"

   // 覆盖默认的上传行为,可以自定义上传的实现
    :http-request="uploadImage"
  >

    // 有图片显示图片,没有则显示图标
    <img v-if="value" :src="value" class="avatar">
    <i v-else class="el-icon-plus avatar-uploader-icon" />
  </el-upload>

el-select/option

Select 选择器,v-model的值为当前被选中的el-option的 value 属性值

<el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>

el-tree数据回填

1.首先要先在 el-tree 组件中设置 ref

2.通过 keys 设置目前勾选的节点,使用此方法必须设置 node-key属性

  1. 回显:
this.$refs.tree.setCheckedKeys(要回显的数据)

4.处理异步

this.$nextTick(() => {
         this.$refs.tree.setCheckedKeys(res.data.permIds)
 })

el-checkbox-group数据回填

1.在子组件定义函数, 发请求,准备回显数据

2.在父组件插槽中定义 ref 

3.在父组件 调用子组件:this.$refs.refRole.getUserRole()

4.处理异步
      this.$nextTick(() => {
        this.$refs.refRole.getUserRole()
      })

el-form 数据回填

1.设置 :model="form"  

2. 定义 data(){   form: { }, }

3. 将请求的数据赋值给 form

element-ui 组件 el-form 自定义校验

//  validator 自定义校验属性 

validator: (rule, value, callback) => {
 if (this.userInfo.timeOfEntry) {
      if (new Date(this.userInfo.timeOfEntry) > new Date(value)) {

    //  错误,校验不通过,显示提示信息         
    callback(new Error('转正时间不能小于入职时间'))

    // 结束执行  
    return
     }
  }

    // 正确,校验通过放行
    callback()
  }

增加 封装一个组件(.vue)

1.在新建的组件中定义表单 el-form

2.表单校验

3.发请求添加

4.刷新页面