在項目中遇到對話框關閉或者取消后,再次打開驗證錯誤或者表單內(nèi)容依然存在的效果對話框取消模塊怎么用,如下:
1、首先在你的對話框 取消按鈕 加一個click事件,
2、點擊取消按鈕,關閉對話框,清除表單驗證
handleCancel(formName){
this.$refs[formName].resetFields();
}
在這里表示對話框的form表單,當然前提是form中添加 ref屬性, 即ref=“form”。
然而試了幾次,都是報錯“”未定義,查了一下資料,是DOM加載的順序問題。
handleCancel(formName){
this.$nextTick(() => {
this.$refs[formName].resetFields(); // this.$refs.form.resetFields();

});
}
3、對話框右上角的close按鈕
......
(-close:關閉前的回調(diào),會暫停 的關閉對話框取消模塊怎么用,(done),done 用于關閉 。 .:刷新整個頁面)
closeDialog(done){

this.$confirm('確認關閉?')
.then(_ => {
done();
location.reload();
})
.catch(_ => { });
}
4.通過 .() 刷新整個頁面之后,給用戶的體驗感不太好,通過直接調(diào)用表單中的 ref 來強制清除表單信息。
// 點擊取消按鈕,關閉對話框,清除表單驗證
closeDialog(){
this.$refs['company'].resetFields()
this.$refs['form'].resetFields()
},
由于表單不只一個,點擊關閉彈框前的方法時,不能同時重置多個表單
5.通過傳入?yún)?shù)來動態(tài)調(diào)用相應的表單重置信息
closeDialog(type){

if(type){
this.$refs[type].resetFields()
}
},
同時這里通過點擊關閉彈框事件來處理的
......
6.如果表單信息為非必填項,對于關閉彈框或者提交數(shù)據(jù)之后,需要手動將輸入框置空