formStorage.js 是一个专门用于防止用户意外退出导致表单数据丢失的工具类。它会自动保存用户填写的表单数据到本地存储,并在用户重新进入页面时恢复数据。
目前已为以下三个表单页面集成了数据存储功能:
commercial.vue) - formKey: commercial_formfarmhouse.vue) - formKey: farmhouse_formother.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这样可以确保用户在填写表单时不会因为意外退出而丢失数据,大大提升用户体验。