在使用element ui 進(jìn)行表單校驗的時候?;煊昧藃esetFields和clearValidate造成了個莫名奇妙的bug
記錄下。
this.$refs.form.resetFields(); //移除校驗結(jié)果并重置字段值
this.$refs.form.clearValidate(); //移除校驗結(jié)果
// 二者都能清除驗證,但是resetFields()會重置字段值,而在vue中大量用到的數(shù)據(jù)的綁定,很可能出現(xiàn)
// 同一個數(shù)據(jù)綁定在多處的情況,如果濫用resetFields很可能造成界面上出現(xiàn)莫名的bug
// 下圖為我項目中的bug

image.png
左邊的樹和右邊的表單用了綁定了相同的數(shù)據(jù),點擊左邊樹的每個節(jié)點可以在右邊進(jìn)行編輯,右邊點擊保存
會對數(shù)據(jù)進(jìn)行校驗,左邊樹結(jié)構(gòu)每次點擊不同節(jié)點都要重置校驗,我誤用了resetFields,造成了會去重置倉庫> 大樓數(shù)據(jù)為空,然后再次左邊樹結(jié)構(gòu)的數(shù)據(jù)消失,變?yōu)榭瞻住?/p>