問題場景
詳情頁有個(gè)編輯按鈕炼七,點(diǎn)擊進(jìn)入編輯頁,由于詳情頁和編輯頁是同一個(gè)頁面布持,只是后面通過type參數(shù)來進(jìn)行區(qū)分(detail和edit)豌拙,這樣就是導(dǎo)致路徑未變,只是參數(shù)變化了题暖。詳情頁的數(shù)據(jù)只是展示按傅,編輯頁則是換成了表單,但是表單元素的blur和change的校驗(yàn)失效胧卤,點(diǎn)擊提交時(shí)唯绍,表單校驗(yàn)還是生效的。
解決方案
給表單綁定一個(gè)動(dòng)態(tài)的key值枝誊,詳情頁的key設(shè)置為detail况芒,編輯頁的key設(shè)置為edit,此問題即可解決叶撒。
例如:
<el-form :key="formKey" ></el-form>
......
computed: {
formKey() {
return this.$route.params.type;
}
}
type是路由上配置的參數(shù)绝骚,進(jìn)行詳情頁和編輯頁區(qū)分的,當(dāng)然祠够,只要能動(dòng)態(tài)給表單綁定key皮壁,即可解決。