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 | } |