问题描述
我遇到一个需要手动暂停并恢复验证的问题。尽管我不希望表单在恢复验证之前进行验证,但我仍然需要表单订阅者将字段值更改通知我。
查看最终表单的代码,pauseValidation()
只需将validationPaused
标志设置为true。
pauseValidation: () => {
validationPaused = true
},
在notifyFormlisteners()
中,通知被锁定在!validationPaused
后面,以防止表单订阅者在验证暂停时通知我有关字段更改的信息。
let scheduleNotification: boolean = false
const notifyFormlisteners = () => {
if (notifying) {
scheduleNotification = true
} else {
notifying = true
callDebug()
if (!inBatch && !validationPaused) {
const { lastFormState } = state
const nextFormState = calculateNextFormState()
if (nextFormState !== lastFormState) {
state.lastFormState = nextFormState
notify(
state.subscribers,nextFormState,lastFormState,filterFormState
)
}
}
notifying = false
if (scheduleNotification) {
scheduleNotification = false
notifyFormlisteners()
}
}
}
这些功能如此高度耦合是有原因的吗?在保留表单订户的同时,是否有任何暂停验证的解决方法?预先感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)