Commit cd85c675101d8f2e566fe0f389d8d876ed48bb9d
1 parent
c7315098
修改_checked=true 时,在_disabled=true的时候被取消了选中的状态的问题
Showing
2 changed files
with
14 additions
and
20 deletions
Show diff stats
src/components/table/table-head.vue
@@ -84,23 +84,15 @@ | @@ -84,23 +84,15 @@ | ||
84 | }, | 84 | }, |
85 | isSelectAll () { | 85 | isSelectAll () { |
86 | let isSelectAll = true; | 86 | let isSelectAll = true; |
87 | - let isAllDisabled = true; | ||
88 | if (!this.data.length) isSelectAll = false; | 87 | if (!this.data.length) isSelectAll = false; |
89 | - | ||
90 | for (let i = 0; i < this.data.length; i++) { | 88 | for (let i = 0; i < this.data.length; i++) { |
91 | - if(this.objData[this.data[i]._index]._isDisabled){ | ||
92 | - isAllDisabled = isAllDisabled && true; | ||
93 | - continue; | ||
94 | - }else{ | ||
95 | - isAllDisabled = isAllDisabled && false; | ||
96 | - } | ||
97 | - if (!this.objData[this.data[i]._index]._isChecked ) { | 89 | + if (!this.objData[this.data[i]._index]._isChecked && !this.objData[this.data[i]._index]._isDisabled) { |
98 | isSelectAll = false; | 90 | isSelectAll = false; |
99 | break; | 91 | break; |
100 | } | 92 | } |
101 | } | 93 | } |
102 | 94 | ||
103 | - return isAllDisabled ? false : isSelectAll; | 95 | + return isSelectAll; |
104 | } | 96 | } |
105 | }, | 97 | }, |
106 | methods: { | 98 | methods: { |
src/components/table/table.vue
@@ -391,15 +391,21 @@ | @@ -391,15 +391,21 @@ | ||
391 | this.$emit('on-selection-change', selection); | 391 | this.$emit('on-selection-change', selection); |
392 | }, | 392 | }, |
393 | selectAll (status) { | 393 | selectAll (status) { |
394 | - this.rebuildData.forEach((data) => { | 394 | + // this.rebuildData.forEach((data) => { |
395 | + // if(this.objData[data._index]._isDisabled){ | ||
396 | + // this.objData[data._index]._isChecked = false; | ||
397 | + // }else{ | ||
398 | + // this.objData[data._index]._isChecked = status; | ||
399 | + // } | ||
400 | + | ||
401 | + // }); | ||
402 | + for(const data of this.rebuildData){ | ||
395 | if(this.objData[data._index]._isDisabled){ | 403 | if(this.objData[data._index]._isDisabled){ |
396 | - this.objData[data._index]._isChecked = false; | 404 | + continue; |
397 | }else{ | 405 | }else{ |
398 | this.objData[data._index]._isChecked = status; | 406 | this.objData[data._index]._isChecked = status; |
399 | } | 407 | } |
400 | - | ||
401 | - }); | ||
402 | - | 408 | + } |
403 | const selection = this.getSelection(); | 409 | const selection = this.getSelection(); |
404 | if (status) { | 410 | if (status) { |
405 | this.$emit('on-select-all', selection); | 411 | this.$emit('on-select-all', selection); |
@@ -559,11 +565,7 @@ | @@ -559,11 +565,7 @@ | ||
559 | newRow._isDisabled = false; | 565 | newRow._isDisabled = false; |
560 | } | 566 | } |
561 | if (newRow._checked) { | 567 | if (newRow._checked) { |
562 | - if(newRow._isDisabled){ | ||
563 | - newRow._isChecked = false; | ||
564 | - }else{ | ||
565 | - newRow._isChecked = newRow._checked; | ||
566 | - } | 568 | + newRow._isChecked = newRow._checked; |
567 | } else { | 569 | } else { |
568 | newRow._isChecked = false; | 570 | newRow._isChecked = false; |
569 | } | 571 | } |