需求:登记车辆信息表单中有个选项需要跳转到子页面选择车型,返回时上次填写的数据应该仍然存在
思路:
1、跳转页面时,检测input至少一个不为空,则保存登记信息到state,若input全为空,则不执行保存操作。
2、跳转到子页,子页选择了车型,将车型信息保存到state中,跳回主页。若是通过返回键回到主页的则不执行保存操作。
3、主页mounted函数中,检测state中登记信息是否不为空,不为空则渲染到页面上。state中车型选择信息是否为空,不为空则渲染车型信息展示div以及车型信息。
为什么用state,因为state每次刷新页面就会被清空,不会长期存在。
提交时,表单验证:https://blog.csdn.net/qq_41836598/article/details/97900783
主页
登记车辆(‘/reg-vehicles’)的vue页面
data () {
return {
real_name: '', // 真实姓名
phone: '', // 手机号码
owner_name: '', // 车辆所有人号码
licence_plate: '', // 驾驶证信息
vehicle_type: '', // 车型详细信息
type_active: false // 是否显示渲染车型信息的div
}
}
methods: {
goTo () {
// 如果页面上登记信息不为空——填了,保存到state,目的——从“选车型页面”跳转回来,表单信息不空,周期为此次打开APP,所以用state就好,不需要localStorage等长期存储
if (this.real_name || this.phone || this.owner_name || this.licence_plate) {
// dispatch,将表单数据存储到state中
this.$store.dispatch('registered_vehicles', [this.real_name, this.phone, this.owner_name, this.licence_plate])
}
this.$router.push('/vehicle-type')
}
}
computed和mounted:
computed: {
state_reg () {
ret