修复两个问题:

1.如果某行禁用_disabled=true,则这行的_checked,无论如何都是false,因为禁用的目的就是不能选择
2.修复某行设置_disabled=true时,全选状态判断有误的bug
This commit is contained in:
leonine 2017-02-23 14:29:49 +08:00
parent 87379c8205
commit c731509853
3 changed files with 26 additions and 13 deletions

View file

@ -84,16 +84,23 @@
},
isSelectAll () {
let isSelectAll = true;
let isAllDisabled = true;
if (!this.data.length) isSelectAll = false;
for (let i = 0; i < this.data.length; i++) {
if(this.objData[this.data[i]._index]._isDisabled){
isAllDisabled = isAllDisabled && true;
continue;
}else{
isAllDisabled = isAllDisabled && false;
}
if (!this.objData[this.data[i]._index]._isChecked ) {
isSelectAll = false;
break;
}
}
return isSelectAll;
return isAllDisabled ? false : isSelectAll;
}
},
methods: {

View file

@ -553,8 +553,17 @@
this.data.forEach((row, index) => {
const newRow = deepCopy(row);// todo
newRow._isHover = false;
if(newRow._disabled){
newRow._isDisabled = newRow._disabled;
}else{
newRow._isDisabled = false;
}
if (newRow._checked) {
if(newRow._isDisabled){
newRow._isChecked = false;
}else{
newRow._isChecked = newRow._checked;
}
} else {
newRow._isChecked = false;
}
@ -563,12 +572,6 @@
} else {
newRow._isHighlight = false;
}
if(newRow._disabled){
newRow._isDisabled = newRow._disabled;
}else{
newRow._isDisabled = false;
}
data[index] = newRow;
});
return data;

View file

@ -54,26 +54,29 @@
age: 18,
address: '北京市朝阳区芍药居',
_highlight: true,
_checked: true
_checked: true,
_disabled: false
},
{
name: '张小刚',
age: 25,
address: '北京市海淀区西二旗',
_checked: true
_checked: false,
_disabled: true
},
{
name: '李小红',
age: 30,
address: '上海市浦东新区世纪大道',
_checked: false,
_checked: true,
_disabled: true
},
{
name: '周小伟',
age: 26,
address: '深圳市南山区深南大道',
_checked: true
_checked: true,
_disabled: false
}
]
}