data.js文件
import bus from "@/bus";
let data = {
columns: [{
title: '选择',
width: 50,
align: 'center',
render: (h, params) => {
return h('div', [
h('Radio', {
props: {
value: params.row.isShow
},
on: {
'on-change': (e) => {
params.row.isShow = e // 用isShow来判断当前显示的哪条数据
bus.$emit('onRadio', {index: params.index, row:params.row})
}
}
})
])
}
}]
}
export default data
vue文件
mounted() {
this.$bus.$on('onRadio', ({index, row}) => this.onRadio(index, row))
},
destroyed() {
this.$bus.$off()
}
onRadio(index, row) {
this.list.data[index] = row
this.selection = [row] // 选中的那条数据
this.list.data.filter((item, inx) => inx !== index).map(m => {
m.isShow = false
})
}