修复两个问题:
1.如果某行禁用_disabled=true,则这行的_checked,无论如何都是false,因为禁用的目的就是不能选择 2.修复某行设置_disabled=true时,全选状态判断有误的bug
This commit is contained in:
parent
87379c8205
commit
c731509853
3 changed files with 26 additions and 13 deletions
|
@ -84,16 +84,23 @@
|
||||||
},
|
},
|
||||||
isSelectAll () {
|
isSelectAll () {
|
||||||
let isSelectAll = true;
|
let isSelectAll = true;
|
||||||
|
let isAllDisabled = true;
|
||||||
if (!this.data.length) isSelectAll = false;
|
if (!this.data.length) isSelectAll = false;
|
||||||
|
|
||||||
for (let i = 0; i < this.data.length; i++) {
|
for (let i = 0; i < this.data.length; i++) {
|
||||||
if (!this.objData[this.data[i]._index]._isChecked) {
|
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;
|
isSelectAll = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return isSelectAll;
|
return isAllDisabled ? false : isSelectAll;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -553,8 +553,17 @@
|
||||||
this.data.forEach((row, index) => {
|
this.data.forEach((row, index) => {
|
||||||
const newRow = deepCopy(row);// todo 直接替换
|
const newRow = deepCopy(row);// todo 直接替换
|
||||||
newRow._isHover = false;
|
newRow._isHover = false;
|
||||||
|
if(newRow._disabled){
|
||||||
|
newRow._isDisabled = newRow._disabled;
|
||||||
|
}else{
|
||||||
|
newRow._isDisabled = false;
|
||||||
|
}
|
||||||
if (newRow._checked) {
|
if (newRow._checked) {
|
||||||
newRow._isChecked = newRow._checked;
|
if(newRow._isDisabled){
|
||||||
|
newRow._isChecked = false;
|
||||||
|
}else{
|
||||||
|
newRow._isChecked = newRow._checked;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
newRow._isChecked = false;
|
newRow._isChecked = false;
|
||||||
}
|
}
|
||||||
|
@ -563,12 +572,6 @@
|
||||||
} else {
|
} else {
|
||||||
newRow._isHighlight = false;
|
newRow._isHighlight = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(newRow._disabled){
|
|
||||||
newRow._isDisabled = newRow._disabled;
|
|
||||||
}else{
|
|
||||||
newRow._isDisabled = false;
|
|
||||||
}
|
|
||||||
data[index] = newRow;
|
data[index] = newRow;
|
||||||
});
|
});
|
||||||
return data;
|
return data;
|
||||||
|
|
|
@ -54,26 +54,29 @@
|
||||||
age: 18,
|
age: 18,
|
||||||
address: '北京市朝阳区芍药居',
|
address: '北京市朝阳区芍药居',
|
||||||
_highlight: true,
|
_highlight: true,
|
||||||
_checked: true
|
_checked: true,
|
||||||
|
_disabled: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '张小刚',
|
name: '张小刚',
|
||||||
age: 25,
|
age: 25,
|
||||||
address: '北京市海淀区西二旗',
|
address: '北京市海淀区西二旗',
|
||||||
_checked: true
|
_checked: false,
|
||||||
|
_disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '李小红',
|
name: '李小红',
|
||||||
age: 30,
|
age: 30,
|
||||||
address: '上海市浦东新区世纪大道',
|
address: '上海市浦东新区世纪大道',
|
||||||
_checked: false,
|
_checked: true,
|
||||||
_disabled: true
|
_disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '周小伟',
|
name: '周小伟',
|
||||||
age: 26,
|
age: 26,
|
||||||
address: '深圳市南山区深南大道',
|
address: '深圳市南山区深南大道',
|
||||||
_checked: true
|
_checked: true,
|
||||||
|
_disabled: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue