时间字段点删除后,无法保存空值,不会有变化 怎么改进合适
baTableClass默认对null进行了过滤,但是这个时间组件点了清空后值就是null,可以利用提交前钩子去掉过滤null的代码:
baTableClass
null
const baTable = new baTableClass( new baTableApi('/admin/test.Build/'), { pk: 'id', column: [], }, { defaultItems: { datetime: null }, }, { on[防反XSS删掉我]Submit({ formEl, operate, items }) { // 表单验证通过后执行的api请求操作 const submitCallback = () => { baTable.form.submitLoading = true baTable.api .postData(operate, baTable.form.items!) .then((res) => { baTable.onTableHeaderAction('refresh', {}) baTable.form.operateIds?.shift() if (baTable.form.operateIds!.length > 0) { baTable.toggleForm('Edit', baTable.form.operateIds) } else { baTable.toggleForm() } baTable.runAfter('on[防反XSS删掉我]Submit', { res }) }) .finally(() => { baTable.form.submitLoading = false }) } if (formEl) { baTable.form.ref = formEl formEl.validate((valid: boolean) => { if (valid) { submitCallback() } }) } else { submitCallback() } return false }, } )
如果你是后端开发者,那就改控制器,重写edit方法,没有传递时间字段时,将时间字段赋值为null再入库
edit
这个好,一定会用到
baTableClass
默认对null
进行了过滤,但是这个时间组件点了清空后值就是null
,可以利用提交前钩子去掉过滤null
的代码:如果你是后端开发者,那就改控制器,重写
edit
方法,没有传递时间字段时,将时间字段赋值为null
再入库