【Vue】使用iview的表格,使用render插入button按钮昵?

使用iview的table,我想在操作那一列插入三个button,然后他显示出来这样的:

【Vue】使用iview的表格,使用render插入button按钮昵?

尝试了网上的方法不得行,我是直接用的iview的模板,没有理解这一段话
“*render 函数传入三个参数 row、column 和 index,分别指当前单元格数据,当前列数据,当前是第几行。
render 函数本质返回的是字符串,Table 组件在内部对其进行了编译,如果使用了自定义组件,需要特别注意上下文,编译后的自定义组件,默认的上下文是 Table 所在的上下文,如果想让组件在指定的实例下编译,可以给 Table 设置属性 context 来指定上下文,比如本例指定当前路由页为上下文。一般情况不需要此配置,但如果你把 Table 作为一个 slot 封装在其它组件里,这时 context 属性就很有用,比如父级是 $parent,根组件 $root。*”

相关代码

这个是定义的一个组件,我在父组件调用他,是不是与那个context有关

<template>

<Table

:border="showBorder"

:stripe="showStripe"

:show-header="showHeader"

:height="fixedHeader ? 250 : ''"

:size="tableSize"

:data="subtabledata"

:columns="tableColumns3"

:highlight-row="true"

:context="$root"

>

</Table>

</template>

<script>

export default {

name:"caneditTable",

props:{

tabledata:{

type:Array,

}

},

data () {

return {

subtabledata:JSON.parse(JSON.stringify(this.tabledata)),

showBorder: true,

showStripe: true,

showHeader: true,

showIndex: false,

showCheckbox: true,

fixedHeader: false,

tableSize: 'small',

}

},

computed: {

tableColumns3 () {

let columns = [];

if (this.showCheckbox) {

columns.push({

type: 'selection',

width: 60,

align: 'center'

})

}

if (this.showIndex) {

columns.push({

type: 'index',

width: 60,

align: 'center'

})

}

columns.push({

title: '新闻标题',

key: 'title',

align: 'center'

});

columns.push({

title: '标题图片',

key: 'pictitle',

width: 164,

align: 'center'

});

columns.push({

title: '发布人',

key: 'name',

width: 164,

align: 'center'

});

columns.push({

title: '发布时间',

key: 'time',

width: 264,

align: 'center'

});

columns.push({

title: '标注',

key: 'time',

width: 64,

align: 'center'

});

columns.push({

title: '操作',

key: 'time',

width: 146,

align: 'center',

render (row, column, index) {

return '<Button type="primary" size="small" @click="show(${index})">查看</> <Button type="error" size="small" @click="remove(${index})">删除</>';

}

});

return columns;

}

},

methods: {

show (index) {

this.$Modal.info({

title: '用户信息',

content: `姓名:${this.data6[index].name}<br>年龄:${this.data6[index].age}<br>地址:${this.data6[index].address}`

})

},

remove (index) {

this.data6.splice(index, 1);

}

}

}

</script>

期待结果:

【Vue】使用iview的表格,使用render插入button按钮昵?

回答

已经解决了,还是网上大神多,看的这位兄弟的博客,也遇到相同问题的,可以看这里在iview的Table中添加Select(render)

以上是 【Vue】使用iview的表格,使用render插入button按钮昵? 的全部内容, 来源链接: utcz.com/a/85939.html

回到顶部