Ant Desgin VUE <a-table> 行新增、删除、自定义行样式、处理行数据
<template>
<a-table
:columns="columns"
:dataSource="data"
:rowClassName="rowClassName"
@change="handleTableChange"
>
<template slot="operation" slot-scope="text, record, index">
<a-button size="small" @click="handleDelete(index)">删除</a-button>
</template>
<template slot="name" slot-scope="text">
<a :href="text">{{ text }}</a>
</template>
</a-table>
</template>
<script>
export default {
data() {
return {
columns: [
{
title: 'Name',
dataIndex: 'name',
scopedSlots: { customRender: 'name' },
},
{
title: 'Age',
dataIndex: 'age',
},
{
title: 'Address',
dataIndex: 'address',
},
{
title: 'Operation',
dataIndex: 'operation',
scopedSlots: { customRender: 'operation' },
},
],
data: [
{
key: '1',
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
},
// ... more data
],
};
},
methods: {
handleDelete(index) {
this.data.splice(index, 1);
},
handleTableChange(pagination, filters, sorter) {
console.log('Various parameters', pagination, filters, sorter);
},
rowClassName(record, index) {
if (index === 1) { // 示例:为第二行(index为1)添加特殊样式
return 'special-row';
}
return '';
},
},
};
</script>
<style>
.special-row {
background-color: #fafafa;
}
</style>
这个例子展示了如何在Ant Design Vue的<a-table>
组件中使用自定义行样式、删除行以及处理表格数据。rowClassName
方法用于为特定行添加自定义样式;handleDelete
方法用于删除表格中的行;handleTableChange
方法用于处理表格变化,例如分页或排序。此外,还展示了如何使用scopedSlots
来自定义列的渲染内容。
评论已关闭