需求
项目的需求是给角色分配菜单,菜单会有子集,所以后台反给我的是带children的树形数据,但是添加的时候可能是一次性选很多的菜单,多选就不能直接用elemengt自带的多选,所以用了表格树形和复选框的组合,复选框用了插槽,完成了一些列的逻辑
代码块
表格部分
视图层
table中加入树形 :tree-props="{children: 'children'}"
插入两个复选框,一个是表头的,一个是表身<el-checkbox>
绑定对应的v-model,还有对应的事件,后边写对应的逻辑
<el-dialog title="菜单分配" append-to-body center show-close :visible.sync="dialogMenuVisible" @open="handleOpening" @close="handleClosing">
<el-table
ref="multipleTable"
:data="menuData"
style="width: 100%;margin-bottom: 20px;"
row-key="id"
border
:tree-props="{children: 'children'}"
>
<el-table-column width="105">
<template slot="header" slot-scope="scope">
<span>全选</span>
<el-checkbox v-model="checkouts" style="padding-left:10px