前面跟大家提到过 elementUI验证的问题,那么今天就来看看 点击对话框和关闭按钮 怎么清空验证,清空form表单,避免二次点击还会有 验证错误的提示
1、首先在你的对话框 取消按钮 加一个click事件,例如:(ps::callOf里面的addGroupData和ref一 一对应起来)
1
2
3
4
|
< div slot = "footer" class = "dialog-footer" >
< el-button @ click = "callOf('addGroupData')" >取 消</ el-button >
< el-button type = "primary" @ click = "addgroupList('addGroupData');" >确 定</ el-button >
</ div >
|
2、点击取消按钮,关闭对话框,清除表单验证
1
2
3
4
|
callOf(formName){
this .creatGroup = false ;
this .$refs[formName].resetFields();
}
|
3、对话框右上角的close按钮(before-close:关闭前的回调,会暂停 Dialog 的关闭,function(done),done 用于关闭 Dialog。 location.reload:刷新整个页面)
1
2
3
4
5
6
7
8
|
closeDialog(done){
this .$confirm( '确认关闭?' )
.then(_ => {
done();
location.reload();
})
. catch (_ => { });
}
|
这样就设置好了,不会出现 二次点击时,错误提示还遗留在对话框上
补充知识:vue中按钮悬停和选中和更新后自动恢复之前的状态
废话不多说,看代码~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<template>
//原本的样式
//点击保存后的样式
<Button class= "dict-hold" :class= "{dict_hold_active:isActive}" @click= "saveDict" >保存</Button>
</template>
<script>
export default {
data() {
return {
isActive: false
}
},
methods: {
saveDict() {
var thiz = this ;
thiz.isActive= true ;
console.log( '保存' , this .selectDict);
if (! this .selectDict || this .selectDict.unid === '0' ) {
thiz.$Message.error( '更新失败,请重试' );
return false ;
}
if (! this .selectDict.dictName) {
thiz.$Message.error( '请输入字典名称' );
return false ;
}
if ( this .selectDict.dictSortid == null ) {
thiz.$Message.error( '请输入排序号' );
return false ;
}
if (! this .currIsType && ! this .selectDict.dictValue) {
thiz.$Message.error( '请输入字典值' );
return false ;
}
this .$store.dispatch( 'axios_re' , {
type: 'post' ,
url: '/address/updateDict' ,
data: {
unid: this .selectDict.unid,
dictName: this .selectDict.dictName,
},
success: function (res) {
thiz.$Message.success( '更新成功' );
thiz.selectDict.title = thiz.selectDict.dictName;
thiz.isActive= false ;
},
fail: function (err) {
thiz.$Message.error( '更新失败' );
thiz.isActive= false ;
}
});
}
}
}
</script>
<style lang= "scss" scoped>
.dict-hold {
margin-left: 35px;
width: 90px;
height: 32px;
background:rgba(57, 97, 244, 1);
&:hover{
background-color: #7295FF;
}
}
.dict_hold_active{
margin-left: 35px;
width: 90px;
height: 32px;
background-color: #7295FF;
}
</style>
|
以上这篇vue+ElementUI 关闭对话框清空验证,清除form表单的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_37104276/article/details/78739832