时间字段点删除后,无法保存空值,不会有变化 怎么改进合适


时间字段点删除后,无法保存空值,不会有变化 怎么改进合适

已采纳
妙码生花
妙码生花
这家伙很懒,什么也没写~
1年前

baTableClass默认对null进行了过滤,但是这个时间组件点了清空后值就是null,可以利用提交前钩子去掉过滤null的代码:

ts 复制代码
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再入库

1个回答默认排序 投票数排序
jayip
jayip
-
1年前

这个好,一定会用到

请先登录
0
0
0
2