問題場景:
vue element ui在做編輯和添加時候使用同一個組件頁面,先點擊編輯然后在點擊新增触创,此時表單數(shù)據(jù)不清空枢泰,使用this.$refs[dataForm].resetFields()也無效。
問題原因:
點擊編輯 再點擊添加苹祟,這時候數(shù)據(jù)已經(jīng)賦值了毅否,this.$refs['dataForm'].resetFields()這個做法其實是重置表單到初始值亚铁,不是清空表單,當表單第一次在頁面中渲染時所用的數(shù)據(jù)就是初始數(shù)據(jù)搀突,表單渲染時就會將這個修改對象作為初始值刀闷,所以出現(xiàn)無效了。
解決方法:
(1)用nextTick(() => {
this.$refs['dataForm'].resetFields();
});
(2)如果(1)不行的話就直接在頁面初始的時候?qū)⒈韱螖?shù)據(jù)重置:
this.refs['dataForm'].clearValidate() //移除表單項的校驗結(jié)果
});
for(let key in this.dataForm){
this.dataForm[key]=""
}
以上over~