Element Table 多层展开行内部不同展开行多选数据处理
Element Table 多层展开行内部不同展开行多选数据处理Table 展开行通过设置 type="expand" 和Scoped slot可以开启展开行功,如何选择Table 多层展开行内部不同展开行多选数据进行处理呢见图图片需求是需要选取不同绿色区域的数据进行处理,Table Events 中selection-change 事件又只能获取到当前绿色区域选择的值,而之前...
Element Table 多层展开行内部不同展开行多选数据处理
Table 展开行通过设置 type="expand" 和 Scoped slot
可以开启展开行功,如何选择Table 多层展开行内部不同展开行多选数据进行处理呢
见图
需求是需要选取不同绿色区域的数据进行处理,Table Events 中selection-change 事件又只能获取到当前绿色区域选择的值,而之前的绿色区域选择值就没了,后来想通过push,把选择的值放在一起,那我选择数据怎么更新。。。。。。
<el-table :data="data"@selection-change="selectionChange($event,'标识1')">
<el-table-column type='expand'>
<template slot-scope="props">
<el-table :data="props.row.children"
@selection-change="selectionChange($event,'标识2',)"
@select="Select(selection,props.row.ID)"
@select-all="Select(selection,props.row.ID)">
</el-table>
</template>
</el-table-column>
</el-table>
selectData:{},//标识2层级选中的信息
selectDataArr:[],//标识2层级选中的信息
//data为上一层的ID(可为其他值,但要唯一,要做为key插进selectData中),再也不用担心数据更新的问题
Select(selection,data){
this.$set(this.selectData,data,selection)
}
//可通过标识 可获取多层级中相同标识层级中的数据
this.selectDataArr= [];
for(let key in this.selectData) {
let value = this.selectData[key];
this.selectDataArr= [...this.selectDataArr,...value]
}
selectDataArr中为所有所选数据的集合
点击全选无数据问题
增加
select-all | 当用户手动勾选全选 Checkbox 时触发的事件 |
@select-all="Select(selection,props.row.ID)" 解决
出现多条重复数据解决方法
使用完后将this.selectData = {};
若有问题、更优解决方案、请评论

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)