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>
|
<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>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
columns4: [
|
columns3: [
|
||||||
{
|
{
|
||||||
type: 'selection',
|
type: 'index',
|
||||||
width: 60,
|
width: 60,
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
@ -28,30 +31,33 @@
|
||||||
{
|
{
|
||||||
name: '王小明',
|
name: '王小明',
|
||||||
age: 18,
|
age: 18,
|
||||||
address: '北京市朝阳区芍药居',
|
address: '北京市朝阳区芍药居'
|
||||||
_disabled: false,
|
|
||||||
_checked: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '张小刚',
|
name: '张小刚',
|
||||||
age: 25,
|
age: 25,
|
||||||
address: '北京市海淀区西二旗',
|
address: '北京市海淀区西二旗'
|
||||||
_disabled: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '李小红',
|
name: '李小红',
|
||||||
age: 30,
|
age: 30,
|
||||||
address: '上海市浦东新区世纪大道',
|
address: '上海市浦东新区世纪大道'
|
||||||
_disabled: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '周小伟',
|
name: '周小伟',
|
||||||
age: 26,
|
age: 26,
|
||||||
address: '深圳市南山区深南大道',
|
address: '深圳市南山区深南大道'
|
||||||
_disabled: true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClear () {
|
||||||
|
this.$refs.table.clearCurrentRow();
|
||||||
|
},
|
||||||
|
handleChange (newData, oldData) {
|
||||||
|
console.log(newData, oldData)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -374,9 +374,8 @@
|
||||||
if (this.disabledHover) return;
|
if (this.disabledHover) return;
|
||||||
this.objData[_index]._isHover = false;
|
this.objData[_index]._isHover = false;
|
||||||
},
|
},
|
||||||
highlightCurrentRow (_index) {
|
// 通用处理 highlightCurrentRow 和 clearCurrentRow
|
||||||
if (!this.highlightRow || this.objData[_index]._isHighlight) return;
|
handleCurrentRow (type, _index) {
|
||||||
|
|
||||||
let oldIndex = -1;
|
let oldIndex = -1;
|
||||||
for (let i in this.objData) {
|
for (let i in this.objData) {
|
||||||
if (this.objData[i]._isHighlight) {
|
if (this.objData[i]._isHighlight) {
|
||||||
|
@ -384,9 +383,18 @@
|
||||||
this.objData[i]._isHighlight = false;
|
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]));
|
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) {
|
clickCurrentRow (_index) {
|
||||||
this.highlightCurrentRow (_index);
|
this.highlightCurrentRow (_index);
|
||||||
|
|
Loading…
Add table
Reference in a new issue