ant design vue 表格行编辑
时间: 2023-08-29 22:10:04 浏览: 186
对于Ant Design Vue中的表格行编辑,你可以使用Table组件的editable属性来实现。首先,设置editable为true,然后在columns中定义需要编辑的列,并指定相应的编辑器组件。
以下是一个示例代码,展示如何在Ant Design Vue中实现表格行编辑:
```vue
<template>
<a-table :columns="columns" :data-source="data" :row-key="record => record.id">
<template slot="name" slot-scope="{ record, index }">
<a-input v-model="record.name" :disabled="!record.editable" />
</template>
<template slot="email" slot-scope="{ record, index }">
<a-input v-model="record.email" :disabled="!record.editable" />
</template>
<template slot="operation" slot-scope="{ record, index }">
<a-button @click="handleEdit(record)">编辑</a-button>
<a-button @click="handleSave(record)">保存</a-button>
<a-button @click="handleCancel(record)">取消</a-button>
</template>
</a-table>
</template>
<script>
export default {
data() {
return {
data: [
{ id: 1, name: 'John', email: 'john@example.com', editable: false },
{ id: 2, name: 'Jane', email: 'jane@example.com', editable: false },
],
columns: [
{ title: '姓名', dataIndex: 'name' },
{ title: '邮箱', dataIndex: 'email' },
{ title: '操作', dataIndex: 'operation' },
],
};
},
methods: {
handleEdit(record) {
record.editable = true;
},
handleSave(record) {
record.editable = false;
// 在这里可以进行保存操作,例如向后端提交数据
},
handleCancel(record) {
record.editable = false;
// 在这里可以进行取消操作,例如恢复原始数据
},
},
};
</script>
```
上述代码中,我们使用了Ant Design Vue的Table组件,通过设置editable属性为true来启用行编辑功能。每个需要编辑的列都使用了具名插槽,并使用a-input组件作为编辑器。
在表格中,我们还添加了三个操作按钮:编辑、保存和取消。点击编辑按钮会将对应行的editable属性设置为true,使该行变为可编辑状态。点击保存按钮会将对应行的editable属性设置为false,并可以在handleSave方法中进行保存数据的操作。点击取消按钮会将对应行的editable属性设置为false,并可以在handleCancel方法中进行取消编辑的操作。
希望以上示例能帮助到你实现Ant Design Vue表格行编辑功能。
阅读全文