VXE树形表格:多条数据编辑后统一保存 - 完整代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>VXE树形表格示例</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table/lib/index.css">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table/lib/index.js"></script>
</head>
<body>
<div id="app">
<vxe-table :data="tableData" :tree-config="{ children: 'children' }" @cell-dblclick="handleCellDblclick">
<vxe-table-column type="index" width="50"></vxe-table-column>
<vxe-table-column field="name" title="名称"></vxe-table-column>
<vxe-table-column field="age" title="年龄"></vxe-table-column>
<vxe-table-column field="gender" title="性别"></vxe-table-column>
</vxe-table>
<button @click="saveData">保存</button>
</div>
<pre><code><script>
new Vue({
el: '#app',
data() {
return {
tableData: [
{ id: 1, name: '张三', age: 25, gender: '男', children: [
{ id: 2, name: '李四', age: 30, gender: '男', children: [
{ id: 3, name: '王五', age: 35, gender: '男', children: [] }
]}
]}
],
editedData: [] // 保存已编辑的数据
}
},
methods: {
handleCellDblclick({ row }) {
if (!this.editedData.includes(row)) {
this.editedData.push(row)
}
},
saveData() {
// 处理保存逻辑,将this.editedData提交到后台
console.log(this.editedData)
}
}
})
</script>
</code></pre>
</body>
</html>
原文地址: https://www.cveoy.top/t/topic/pQeq 著作权归作者所有。请勿转载和采集!