問題場景
詳情頁有個編輯按鈕,點擊進入編輯頁,由于詳情頁和編輯頁是同一個頁面,只是后面通過type參數來進行區分(detail和edit),這樣就是導致路徑未變,只是參數變化了。詳情頁的數據只是展示,編輯頁則是換成了表單,但是表單元素的blur和change的校驗失效,點擊提交時,表單校驗還是生效的。
解決方案
給表單綁定一個動態的key值,詳情頁的key設置為detail,編輯頁的key設置為edit,此問題即可解決。
例如:
<el-form :key="formKey" ></el-form>
......
computed: {
formKey() {
return this.$route.params.type;
}
}
type是路由上配置的參數,進行詳情頁和編輯頁區分的,當然,只要能動態給表單綁定key,即可解決。