问题描述:做一个新增的表单,有好多必填项,如果新增完成以后,还停留在这个界面,那么完成以后,数据必须初始化,这样的话界面就会出现必填项的错误提示。
解决:我们可以从新刷新界面,但是这样对用户很不友好,界面重新加载,反应慢,空白页等等。
我的解决方案,可以通过路由基座的重新加载,实现界面重新渲染。
<router-view v-if="routerViewShow"></router-view>
1、通过传值来实现
app.vue
data () {
return {
routerViewShow: true
}
},
// 提过给子组件的变量
provide () {
return {
reload: this.reload
}
},
methods: {
// 定义方法,改变路由基座的状态,重现渲染路由内容,先置为false接着修改为true
reload () {
this.routerViewShow = false
this.$nextTick(() => {
this.routerViewShow = true
})
}
}
2、表单提交完成以后调用这个方法,子组件中
data () {
return {
}
},
inject: ['reload'],
methods: {
submit () {
...
...
// 调用父组件的方法
this.reload()
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。