fixed #1372
This commit is contained in:
parent
71ef48658c
commit
3aca3d56ef
2 changed files with 31 additions and 17 deletions
|
@ -1,13 +1,16 @@
|
|||
<template>
|
||||
<Table border :columns="columns4" :data="data1"></Table>
|
||||
<div>
|
||||
<Table highlight-row :columns="columns3" :data="data1" ref="table" @on-current-change="handleChange"></Table>
|
||||
<Button @click="handleClear">clear</Button>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
columns4: [
|
||||
columns3: [
|
||||
{
|
||||
type: 'selection',
|
||||
type: 'index',
|
||||
width: 60,
|
||||
align: 'center'
|
||||
},
|
||||
|
@ -28,30 +31,33 @@
|
|||
{
|
||||
name: '王小明',
|
||||
age: 18,
|
||||
address: '北京市朝阳区芍药居',
|
||||
_disabled: false,
|
||||
_checked: true
|
||||
address: '北京市朝阳区芍药居'
|
||||
},
|
||||
{
|
||||
name: '张小刚',
|
||||
age: 25,
|
||||
address: '北京市海淀区西二旗',
|
||||
_disabled: true
|
||||
address: '北京市海淀区西二旗'
|
||||
},
|
||||
{
|
||||
name: '李小红',
|
||||
age: 30,
|
||||
address: '上海市浦东新区世纪大道',
|
||||
_disabled: true
|
||||
address: '上海市浦东新区世纪大道'
|
||||
},
|
||||
{
|
||||
name: '周小伟',
|
||||
age: 26,
|
||||
address: '深圳市南山区深南大道',
|
||||
_disabled: true
|
||||
address: '深圳市南山区深南大道'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClear () {
|
||||
this.$refs.table.clearCurrentRow();
|
||||
},
|
||||
handleChange (newData, oldData) {
|
||||
console.log(newData, oldData)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -374,9 +374,8 @@
|
|||
if (this.disabledHover) return;
|
||||
this.objData[_index]._isHover = false;
|
||||
},
|
||||
highlightCurrentRow (_index) {
|
||||
if (!this.highlightRow || this.objData[_index]._isHighlight) return;
|
||||
|
||||
// 通用处理 highlightCurrentRow 和 clearCurrentRow
|
||||
handleCurrentRow (type, _index) {
|
||||
let oldIndex = -1;
|
||||
for (let i in this.objData) {
|
||||
if (this.objData[i]._isHighlight) {
|
||||
|
@ -384,9 +383,18 @@
|
|||
this.objData[i]._isHighlight = false;
|
||||
}
|
||||
}
|
||||
this.objData[_index]._isHighlight = true;
|
||||
if (type === 'highlight') this.objData[_index]._isHighlight = true;
|
||||
const oldData = oldIndex < 0 ? null : JSON.parse(JSON.stringify(this.cloneData[oldIndex]));
|
||||
this.$emit('on-current-change', JSON.parse(JSON.stringify(this.cloneData[_index])), oldData);
|
||||
const newData = type === 'highlight' ? JSON.parse(JSON.stringify(this.cloneData[_index])) : null;
|
||||
this.$emit('on-current-change', newData, oldData);
|
||||
},
|
||||
highlightCurrentRow (_index) {
|
||||
if (!this.highlightRow || this.objData[_index]._isHighlight) return;
|
||||
this.handleCurrentRow('highlight', _index);
|
||||
},
|
||||
clearCurrentRow () {
|
||||
if (!this.highlightRow) return;
|
||||
this.handleCurrentRow('clear');
|
||||
},
|
||||
clickCurrentRow (_index) {
|
||||
this.highlightCurrentRow (_index);
|
||||
|
|
Loading…
Add table
Reference in a new issue