Commit 6c99b9fe5918506af4cbb5938856f110488b4210
1 parent
97edb2eb
update Table
update Table
Showing
3 changed files
with
20 additions
and
12 deletions
Show diff stats
src/components/table/table-head.vue
| ... | ... | @@ -68,13 +68,18 @@ |
| 68 | 68 | style: Object, |
| 69 | 69 | columns: Array, |
| 70 | 70 | objData: Object, |
| 71 | + data: Array, // rebuildData | |
| 71 | 72 | fixed: Boolean |
| 72 | 73 | }, |
| 73 | 74 | computed: { |
| 74 | 75 | isSelectAll () { |
| 75 | 76 | let isSelectAll = true; |
| 76 | - for (let i in this.objData) { | |
| 77 | - if (!this.objData[i]._isChecked) isSelectAll = false; | |
| 77 | + | |
| 78 | + for (let i = 0; i < this.data.length; i++) { | |
| 79 | + if (!this.objData[this.data[i]._index]._isChecked) { | |
| 80 | + isSelectAll = false; | |
| 81 | + break; | |
| 82 | + } | |
| 78 | 83 | } |
| 79 | 84 | |
| 80 | 85 | return isSelectAll; | ... | ... |
src/components/table/table.vue
| ... | ... | @@ -7,7 +7,8 @@ |
| 7 | 7 | :prefix-cls="prefixCls" |
| 8 | 8 | :style="tableStyle" |
| 9 | 9 | :columns="cloneColumns" |
| 10 | - :obj-data="objData"></table-head> | |
| 10 | + :obj-data="objData" | |
| 11 | + :data="rebuildData"></table-head> | |
| 11 | 12 | </div> |
| 12 | 13 | <div :class="[prefixCls + '-body']" :style="bodyStyle" v-el:body @scroll="handleBodyScroll"> |
| 13 | 14 | <table-body |
| ... | ... | @@ -25,7 +26,8 @@ |
| 25 | 26 | :prefix-cls="prefixCls" |
| 26 | 27 | :style="fixedTableStyle" |
| 27 | 28 | :columns="leftFixedColumns" |
| 28 | - :obj-data="objData"></table-head> | |
| 29 | + :obj-data="objData" | |
| 30 | + :data="rebuildData"></table-head> | |
| 29 | 31 | </div> |
| 30 | 32 | <div :class="[prefixCls + '-fixed-body']" :style="fixedBodyStyle" v-el:fixed-body> |
| 31 | 33 | <table-body |
| ... | ... | @@ -44,7 +46,8 @@ |
| 44 | 46 | :prefix-cls="prefixCls" |
| 45 | 47 | :style="fixedRightTableStyle" |
| 46 | 48 | :columns="rightFixedColumns" |
| 47 | - :obj-data="objData"></table-head> | |
| 49 | + :obj-data="objData" | |
| 50 | + :data="rebuildData"></table-head> | |
| 48 | 51 | </div> |
| 49 | 52 | <div :class="[prefixCls + '-fixed-body']" :style="fixedBodyStyle" v-el:fixed-right-body> |
| 50 | 53 | <table-body |
| ... | ... | @@ -282,9 +285,9 @@ |
| 282 | 285 | this.$emit('on-selection-change', selection); |
| 283 | 286 | }, |
| 284 | 287 | selectAll (status) { |
| 285 | - for (let i in this.objData) { | |
| 286 | - this.objData[i]._isChecked = status; | |
| 287 | - } | |
| 288 | + this.rebuildData.forEach((data) => { | |
| 289 | + this.objData[data._index]._isChecked = status; | |
| 290 | + }); | |
| 288 | 291 | |
| 289 | 292 | const selection = this.getSelection(); |
| 290 | 293 | if (status) { | ... | ... |
test/routers/table.vue
| ... | ... | @@ -198,8 +198,8 @@ |
| 198 | 198 | this.$Message.info(this.data[index].name); |
| 199 | 199 | }, |
| 200 | 200 | current (newData, oldData) { |
| 201 | - console.log(newData); | |
| 202 | - console.log(oldData); | |
| 201 | +// console.log(newData); | |
| 202 | +// console.log(oldData); | |
| 203 | 203 | }, |
| 204 | 204 | select (a,b){ |
| 205 | 205 | // console.log(a); |
| ... | ... | @@ -209,7 +209,7 @@ |
| 209 | 209 | // console.log(a) |
| 210 | 210 | }, |
| 211 | 211 | sall (a) { |
| 212 | -// console.log(a) | |
| 212 | + console.log(a) | |
| 213 | 213 | }, |
| 214 | 214 | rowClsName (row, index) { |
| 215 | 215 | if (index == 1) { |
| ... | ... | @@ -238,7 +238,7 @@ |
| 238 | 238 | // edit: false |
| 239 | 239 | // }); |
| 240 | 240 | // this.data.splice(0, 1); |
| 241 | - this.columns.splice(2,1) | |
| 241 | +// this.columns.splice(2,1) | |
| 242 | 242 | }, 3000); |
| 243 | 243 | } |
| 244 | 244 | } | ... | ... |