formStorage.js
是一个专门用于防止用户意外退出导致表单数据丢失的工具类。它会自动保存用户填写的表单数据到本地存储,并在用户重新进入页面时恢复数据。
目前已为以下三个表单页面集成了数据存储功能:
commercial.vue
) - formKey: commercial_form
farmhouse.vue
) - formKey: farmhouse_form
other.vue
) - formKey: other_form
@input
)@input
)@input
)@change
)@change
){
data: {}, // 表单数据对象
timestamp: 1234567890 // 保存时间戳
}
form_data_
form_data_{formKey}
form_data_commercial_form
当检测到有保存的数据时,会显示Toast提示:
已恢复上次填写的数据
debounceSaveFormData() {
clearTimeout(this.saveTimer)
this.saveTimer = setTimeout(() => {
this.saveFormData()
}, 1000)
}
restoreFormData() {
const savedData = formStorage.getFormData(this.formKey)
if (savedData) {
this.form = { ...this.form, ...savedData }
// 显示恢复提示
}
}
onLoad
: 恢复数据onUnload
: 保存数据如需为其他表单页面添加此功能,请参考已集成页面的实现方式:
formKey
这样可以确保用户在填写表单时不会因为意外退出而丢失数据,大大提升用户体验。