Table tree support selectAllDisabled status

This commit is contained in:
梁灏 2020-01-07 22:39:21 +08:00
parent 1ce519d3ff
commit ec1f67fa7e
2 changed files with 29 additions and 15 deletions

View file

@ -80,16 +80,14 @@
name: '张三', name: '张三',
age: 18, age: 18,
address: '发动机莲富大厦放假了开始的', address: '发动机莲富大厦放假了开始的',
date: '2016-10-01', date: '2016-10-01'
_disabled: true,
}, },
{ {
id: '10101', id: '10101',
name: '李四', name: '李四',
age: 19, age: 19,
address: '风刀霜剑分离的思路开发', address: '风刀霜剑分离的思路开发',
date: '2016-10-02', date: '2016-10-02'
_disabled: true,
}, },
{ {
id: '10102', id: '10102',
@ -98,15 +96,13 @@
address: '分离的付款就说个就是范德萨发生', address: '分离的付款就说个就是范德萨发生',
date: '2016-10-03', date: '2016-10-03',
_showChildren: true, _showChildren: true,
_disabled: true,
children: [ children: [
{ {
id: '10102100', id: '10102100',
name: '赵六', name: '赵六',
age: 21, age: 21,
address: '梵蒂冈人太热疼我', address: '梵蒂冈人太热疼我',
date: '2016-10-05', date: '2016-10-05'
_disabled: true,
}, },
{ {
id: '10102101', id: '10102101',
@ -115,23 +111,20 @@
address: '法第三方的范德萨范德萨发送到', address: '法第三方的范德萨范德萨发送到',
date: '2016-10-06', date: '2016-10-06',
_showChildren: true, _showChildren: true,
_disabled: true,
children: [ children: [
{ {
id: '10102101100', id: '10102101100',
name: '第九', name: '第九',
age: 23, age: 23,
address: '9梵蒂冈人太热疼我', address: '9梵蒂冈人太热疼我',
date: '2016-10-07', date: '2016-10-07'
_disabled: true,
}, },
{ {
id: '10102101101', id: '10102101101',
name: '第十', name: '第十',
age: 24, age: 24,
address: '10法第三方的范德萨范德萨发送到', address: '10法第三方的范德萨范德萨发送到',
date: '2016-10-08', date: '2016-10-08'
_disabled: true,
}, },
] ]
}, },

View file

@ -150,9 +150,17 @@
} }
}, },
isSelectDisabled () { isSelectDisabled () {
let isSelectDisabled = false; let isSelectDisabled = true;
if (!this.data.length) isSelectDisabled = true; if (this.data.length) {
if (!this.data.find(item => !item._disabled)) isSelectDisabled = true; for (let i in this.objData) {
const objData = this.objData[i];
if (!objData._isDisabled) {
isSelectDisabled = false;
} else if (objData.children && objData.children.length) {
isSelectDisabled = this.isChildrenDisabled(objData, isSelectDisabled);
}
}
}
return isSelectDisabled; return isSelectDisabled;
} }
}, },
@ -369,6 +377,19 @@
}); });
} }
return status; return status;
},
isChildrenDisabled (objData, isSelectDisabled) {
let status = isSelectDisabled;
if (objData.children && objData.children.length) {
objData.children.forEach(row => {
if (!row._isDisabled) {
status = false;
} else if (row.children && row.children.length) {
status = this.isChildrenDisabled(row, status);
}
});
}
return status;
} }
} }
}; };