没有实现<template> <a-table :columns="columns" :data-source="dataSource" row-key="key" :editable="true"> <template #heJin_AI="{ text, record }"> {{ text }} {{ record }} <a-input v-model="record.heJin_AI.heJin_Mn1" /> <a-input v-model="record.heJin_AI.heJin_Mn2" /> <a-input v-model="record.heJin_AI.heJin_Mn3" /> </template> <template #add> <template v-for="item in columns"> <a-input :key="item.key" v-if="item.editable" @change="addRow(item.key)" /> <span v-else></span> </template> </template> </a-table> </template> <script> export default { data() { return { dataSource: [ { key: '1', id: 1, heJin_AI: { heJin_Mn1: '数据1', heJin_Mn2: '数据2', heJin_Mn3: '数据3', }, }, ], columns: [ { title: 'ID', dataIndex: 'id', key: 'id', }, { title: 'heJin_AI', dataIndex: 'heJin_AI', key: 'heJin_AI', slots: { customRender: 'heJin_AI' }, editable: true, }, ], } }, methods: { addRow(key) { const maxKey = Math.max(...this.dataSource.map((item) => parseInt(item.key))) const newRow = { key: (maxKey + 1).toString(), id: maxKey + 1, heJin_AI: { heJin_Mn1: '', heJin_Mn2: '', heJin_Mn3: '', }, } this.dataSource = [...this.dataSource, newRow] }, }, } </script> <style> </style>
时间: 2024-02-14 07:14:36 浏览: 139
antd-editable:从antd继承的React组件,可以编辑单元格表
这段代码是使用 Vue.js 框架来构建一个可编辑的表格,并且使用了自定义插槽 `heJin_AI` 来渲染 `heJin_AI` 列的数据。在 `heJin_AI` 插槽中,使用了 `v-model` 指令来双向绑定每行数据中的 `heJin_Mn1`、`heJin_Mn2` 和 `heJin_Mn3` 字段,从而实现对表格数据的编辑。
在 `add` 插槽中,使用了 `v-if` 指令来判断当前列是否可编辑,并通过调用 `addRow` 方法来新增一行数据。
如果您有任何关于这段代码的问题或疑问,欢迎随时向我提出。
阅读全文