Closed
Description
版本号:
v.1.0.0-beta
问题描述:
使用editClose事件响应单元格编辑, @edit-closed="handleEditClosed",下拉、文本输入都可以,但checkbox不行。
截图&代码:
{ key: 'enabled', title: '启用', width: 60, type: JVxeTypes.checkbox,customValue: ['是','否'] },
{ key: 'sampleGroupType', title: '类型', width: 120, type: JVxeTypes.select,allowSearch:true,dictCode:'lims_sample_group_template_type' },
function handleEditClosed(event) {
let { $table, row, column } = event
let field = column.property
// 判断单元格值是否被修改
if ($table.isUpdateByRow(row, field)) {
// 校验当前行
$table.validate(row).then((errMap) => {
// 校验通过
if (!errMap) {
// let hideLoading = createMessage.loading(`正在保存"${column.title}"`, 0);
saveOrUpdate(row,true).then(res => {
// createMessage.success(`"${column.title}"保存成功!`)
// 局部更新单元格为已保存状态
$table.reloadRow(row, null, field)
}).finally(() => {
// hideLoading()
})
}
})
}
}
Activity
eyuan commentedon May 27, 2022
测试发现没有触发editClose,而是和不带input的列的点击一样,触发了click,因为配置了clickSelect,所以进一步触发了selectRowChange
zhangdaiscott commentedon May 27, 2022
jl
sjlei commentedon May 31, 2022
editClose 事件只有当组件从编辑状态切换成文本状态时才会触发,因为 checkbox 等组件一直处于编辑状态的,所以无法触发该事件。
对于此类组件可以使用 valueChange 事件来处理。
示例页面已更新,将在下版本发布。