官网

1.树形控件

  1. <el-tree :data="rightsList" :props="treeProps" show-checkbox node-key="id"></el-tree>

show-checkbox表示可选控件,需要给它添加一个唯一标识node-key=”id”

  1. data()_{
  2. return{
  3. treeProps:{
  4. label:"authName",
  5. children:"children"
  6. }
  7. }
  8. }

image.png

getCheckedNodes 若节点可被选择(即 show-checkboxtrue),则返回目前被选中的节点所组成的数组 (leafOnly, includeHalfChecked) 接收两个 boolean 类型的参数,1. 是否只是叶子节点,默认值为 false 2. 是否包含半选节点,默认值为 false
setCheckedNodes 设置目前勾选的节点,使用此方法必须设置 node-key 属性 (nodes) 接收勾选节点数据的数组

以上两个处理函数可以获取该树形控件选中状态下的id数据和半选中状态的id数据

2.layout布局

将页面等分成24分进行布局

参数 说明 类型 可选值 默认值
span 栅格占据的列数 number 24
offset 栅格左侧的间隔格数 number 0
push 栅格向右移动格数 number 0
pull 栅格向左移动格数 number 0
xs <768px 响应式栅格数或者栅格属性对象 number/object (例如: {span: 4, offset: 4})
sm ≥768px 响应式栅格数或者栅格属性对象 number/object (例如: {span: 4, offset: 4})
md ≥992px 响应式栅格数或者栅格属性对象 number/object (例如: {span: 4, offset: 4})
lg ≥1200px 响应式栅格数或者栅格属性对象 number/object (例如: {span: 4, offset: 4})
xl ≥1920px 响应式栅格数或者栅格属性对象 number/object (例如: {span: 4, offset: 4})
tag 自定义元素标签 string * div
  1. <el-table-column type="expand">
  2. <template slot-scope="scope">
  3. <!-- 栅格布局 -->
  4. <el-row :class="['bdbottom',i1===0?'bdtop':'','vcenter']" v-for="(item1,i1) in scope.row.children" :key="item1.id" >
  5. <!-- 渲染一级权限 -->
  6. <el-col :span="5">
  7. <el-tag>{{item1.authName}}</el-tag>
  8. <i class="el-icon-caret-right"></i>
  9. </el-col>
  10. <!-- 渲染二级和三级权限 -->
  11. <el-col :span="19">
  12. <el-row v-for="(item2,i2) in item1.children"
  13. :class="[i2===0?'':'bdtop','vcenter']"
  14. :key="item2.id" >
  15. <el-col :span="6">
  16. <el-tag type="success">{{item2.authName}}</el-tag>
  17. <i class="el-icon-caret-right"></i>
  18. </el-col>
  19. <!-- 三级权限 -->
  20. <el-col :span="18">
  21. <el-tag v-for="item3 in item2.children"
  22. :key="item3.id"
  23. type="warning"
  24. @close="removeRightsByid(scope.row,item3.id)"
  25. closable>{{item3.authName}}</el-tag>
  26. </el-col>
  27. </el-row>
  28. </el-col>
  29. </el-row>
  30. </template>
  31. </el-table-column>