From cd85c675101d8f2e566fe0f389d8d876ed48bb9d Mon Sep 17 00:00:00 2001 From: leonine <326026108@qq.com> Date: Thu, 23 Feb 2017 16:51:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=5Fchecked=3Dtrue=20=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8=5Fdisabled=3Dtrue=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E8=A2=AB=E5=8F=96=E6=B6=88=E4=BA=86=E9=80=89=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/table/table-head.vue | 12 ++---------- src/components/table/table.vue | 22 ++++++++++++---------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/components/table/table-head.vue b/src/components/table/table-head.vue index e0dd1d68..e026b904 100644 --- a/src/components/table/table-head.vue +++ b/src/components/table/table-head.vue @@ -84,23 +84,15 @@ }, 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 ) { + if (!this.objData[this.data[i]._index]._isChecked && !this.objData[this.data[i]._index]._isDisabled) { isSelectAll = false; break; } } - return isAllDisabled ? false : isSelectAll; + return isSelectAll; } }, methods: { diff --git a/src/components/table/table.vue b/src/components/table/table.vue index 43787fa2..fbd71666 100644 --- a/src/components/table/table.vue +++ b/src/components/table/table.vue @@ -391,15 +391,21 @@ this.$emit('on-selection-change', selection); }, selectAll (status) { - this.rebuildData.forEach((data) => { + // this.rebuildData.forEach((data) => { + // if(this.objData[data._index]._isDisabled){ + // this.objData[data._index]._isChecked = false; + // }else{ + // this.objData[data._index]._isChecked = status; + // } + + // }); + for(const data of this.rebuildData){ if(this.objData[data._index]._isDisabled){ - this.objData[data._index]._isChecked = false; + continue; }else{ this.objData[data._index]._isChecked = status; } - - }); - + } const selection = this.getSelection(); if (status) { this.$emit('on-select-all', selection); @@ -559,11 +565,7 @@ newRow._isDisabled = false; } if (newRow._checked) { - if(newRow._isDisabled){ - newRow._isChecked = false; - }else{ - newRow._isChecked = newRow._checked; - } + newRow._isChecked = newRow._checked; } else { newRow._isChecked = false; }