update Table

update Table
This commit is contained in:
梁灏 2016-11-29 16:05:14 +08:00
parent 9f853e3ec8
commit 97edb2eb3b
3 changed files with 22 additions and 7 deletions

View file

@ -45,13 +45,13 @@
`${this.prefixCls}-row`,
this.rowClsName(_index),
{
[`${this.prefixCls}-row-highlight`]: this.objData[_index]._isHighlight,
[`${this.prefixCls}-row-hover`]: this.objData[_index]._isHover
[`${this.prefixCls}-row-highlight`]: this.objData[_index] && this.objData[_index]._isHighlight,
[`${this.prefixCls}-row-hover`]: this.objData[_index] && this.objData[_index]._isHover
}
]
},
rowChecked (_index) {
return this.objData[_index]._isChecked;
return this.objData[_index] && this.objData[_index]._isChecked;
},
setCellWidth (column, index) {
return this.$parent.setCellWidth(column, index);

View file

@ -338,7 +338,7 @@
const key = this.cloneColumns[index].key;
if (this.cloneColumns[index].sortable !== 'custom') { // custom is for remote sort
if (type === 'normal') {
this.rebuildData = this.makeData();
this.rebuildData = this.makeDataWithFilter();
} else {
this.rebuildData = this.sortData(this.rebuildData, type, index);
}
@ -415,6 +415,16 @@
if (sortType !== 'normal') data = this.sortData(data, sortType, sortIndex);
return data;
},
makeDataWithFilter () {
let data = this.makeData();
this.cloneColumns.forEach(col => data = this.filterData(data, col));
return data;
},
makeDataWithSortAndFilter () {
let data = this.makeDataWithSort();
this.cloneColumns.forEach(col => data = this.filterData(data, col));
return data;
},
makeObjData () {
let data = {};
this.data.forEach((row, index) => {
@ -473,7 +483,7 @@
data: {
handler () {
this.objData = this.makeObjData();
this.rebuildData = this.makeData();
this.rebuildData = this.makeDataWithSortAndFilter();
this.handleResize();
},
deep: true
@ -481,6 +491,7 @@
columns: {
handler () {
this.cloneColumns = this.makeColumns();
this.rebuildData = this.makeDataWithSortAndFilter();
this.handleResize();
},
deep: true

View file

@ -25,6 +25,7 @@
<!--<div slot="footer">表格标题</div>-->
</i-table>
<br>
<i-button @click="showChildren">显示子节点</i-button>
<!--<i-table size="small" border stripe :columns="columns" :data="data"></i-table>-->
</div>
</template>
@ -219,6 +220,9 @@
},
sortChange (data) {
console.log(data)
},
showChildren () {
console.log(this.$children)
}
},
ready () {
@ -233,8 +237,8 @@
// address: '2',
// edit: false
// });
// this.data.splice(0, 1)
// this.columns.splice(2,1)
// this.data.splice(0, 1);
this.columns.splice(2,1)
}, 3000);
}
}