如何在用户离开组件后重置状态



当人员离开组件时,我可以重置状态吗?我有一个错误弹出状态。现在,单击菜单中的其他项目并返回页面后,它仍然可见。用户需要单击F5使其消失。

updateAccountData({ commit, state }, { email, password, passwordConfirmation }) {
return api.profile.updateAccountData({
email: email,
password: password,
password_confirmation: passwordConfirmation,
}).then(() => {
commit(SET_SUCCEED, true)
}).catch((err) => {
commit(SET_ERROR, err)
})
},

我觉得这个可以用吗?

[RESET](state) {
Object.assign(state, initialState());
},

只需设置一个超时来取消错误,类似于下面的代码(其中commit(SET_ERROR, false)将删除错误状态(:

updateAccountData({ commit, state }, { email, password, passwordConfirmation }) {
return api.profile.updateAccountData({
email: email,
password: password,
password_confirmation: passwordConfirmation,
}).then(() => {
commit(SET_SUCCEED, true)
}).catch((err) => {
commit(SET_ERROR, err)
// Setting a timeout for 10 seconds then removing the modal
setTimeout(() => commit(SET_ERROR, false), 10000)
})
}

此外,我将考虑为用户添加一种通过"关闭"按钮手动关闭它的方式;x〃;或者关闭按钮,除非这只是一个不会影响其他用户体验的小祝酒词。

最新更新