table 表格在线编辑、表格行内编辑

[vue3代码]写在生成的[表.vue]文件中,[vue2代码]写在[表.jsx]文件methods方法中;二选一实现
vue3代码
//保存数据
saveClick(row){
//调用框架的保存方法,或者自己写接口保存
proxy.http.post('/api/表名/update', { mainData: row }, true)
.then((x) => {
if (x.status) {
proxy.$message.info('保存成功');
return;
}
proxy.$message.error(x.message);
});
}
const onInit=($vm)=> {
gridRef=$vm
//企业版代码,代码生成器上选择编辑模式【表格行内编辑】就不用下面配置了
for (let index = 0; index < columns.length; index++) {
const column = columns[index];
if (column.field == '字段1') {
column.edit = { type: 'select', keep: true };
//同时可以给表格下拉框绑定选择事件
column.onChange = (row, col) => {
// console.log(row.Province);
};
} else if (column.field == '字段2') {
column.edit = { type: 'text', keep: true };
}
}
//最后添加一行保存按钮
columns.push({
title: '操作', //按钮名称
field: '操作',
align: 'center',
width: 70,
fixed:'right',
render: (h, { row, column, index }) => {
return (
<div>
<el-button
onClick={($e) => {saveClick(row)}}
type="primary" link> 保存</el-button>
</div>
);
}
});
}
vue2 代码
//保存数据
saveClick(row){
//调用框架的保存方法,或者自己写接口保存
this.http.post('/api/表名/update', { mainData: row }, true)
.then((x) => {
if (x.status) {
this.$message.info('保存成功');
return;
}
this.$message.error(x.message);
});
},
onInit() {
//如果是企业版代码,代码生成器上选择编辑模式【表格行内编辑】就不用下面配置了
for (let index = 0; index < this.columns.length; index++) {
const column = this.columns[index];
if (column.field == '字段1') {
column.edit = { type: 'select', keep: true };
//同时可以给表格下拉框绑定选择事件
column.onChange = (row, col) => {
// console.log(row.Province);
};
} else if (column.field == '字段2') {
column.edit = { type: 'text', keep: true };
}
}
//最后添加一行保存按钮
this.columns.push({
title: '操作', //按钮名称
field: '操作',
align: 'center',
width: 70,
fixed:'right',
render: (h, { row, column, index }) => {
return (
<div>
<el-button
onClick={($e) => {this.saveClick(row)}}
link type="primary">保存 </el-button>
</div>
);
}
});
}