|
@@ -92,12 +92,14 @@ export const unSetModelUpdate = (run: () => void) => {
|
|
|
}
|
|
|
export const autoSetModeCallback = <T extends object>(current: T, setting: AutoSetModeSetting<T>) => {
|
|
|
let isSave = false
|
|
|
-
|
|
|
+ let isBack = false
|
|
|
const leaveCallback = (setting.recovery || setting.backup)
|
|
|
&& (() => {
|
|
|
+ isBack = true
|
|
|
setting.recovery && setting.recovery()
|
|
|
setting.backup && setting.backup()
|
|
|
setting.leave && setting.leave()
|
|
|
+ setTimeout(() => isBack = false, 100)
|
|
|
})
|
|
|
|
|
|
const saveCallback = async () => {
|
|
@@ -109,7 +111,7 @@ export const autoSetModeCallback = <T extends object>(current: T, setting: AutoS
|
|
|
}
|
|
|
|
|
|
const handler = (newv: UnwrapRef<T>, oldv?: UnwrapRef<T>) => {
|
|
|
- if (isSave || isUnset) return
|
|
|
+ if (isSave || isUnset || isBack) return
|
|
|
if (!setting.isUpdate || setting.isUpdate(newv, oldv)) {
|
|
|
isEdit.value || enterEdit()
|
|
|
isOld.value || enterOld()
|