一、问题
今天碰到一个问题,需要根据判断条件禁用el-table的复选框,
但是由于使用了tree-props属性,子级数据都是由每条父级数据的Children数组渲染出来的
禁用了父级列表的同时,因为没对子级做处理,也禁用了所有的子级,代码与界面如下图所示:
二、解决方法
苦恼了一阵后,封装了一个函数解决了此问题,用来无限遍历子级,具体条件可以按需修改:
// 子级遍历
childrensForEach(item) {
if (item.Children && Array.isArray(item.Children) && item.Children.length) {
item.Children.forEach(son => {
son.ban = true;
this.ruleForm.sonsList.forEach(i => {
if (son.RowId == i.RowId) son.ban = false;
})
this.childrensForEach(son);
})
}
},
详细代码图示:
最后的页面效果,上述问题已经解决,希望有帮助到你!O(∩_∩)O哈哈~