场景描述:例如商品发布按钮 只限制点击一次 防止重复点击制造重复数据
直接上代码
先在data里面定义一个变量
flag: true,
//确定按钮点击事件
onSubmit() {
if (this.flag) {
this.flag = false; //校验成功放开按钮功能 js往下接着执行
} else {
this.$message.error("请勿重复提交");
return; //如果多次点击测试 第一次执行完后下面flag已经置为true 所以当第二次点击的时候走这里 进行message提示 return回去就OK啦
}
.
.
.
.
if (res.sysRecode == "success") {
//跳转列表页
this.$message({
message: "发布成功",
type: res.sysRecode
});
this.$router.push({ path: "/goodsindexOlay" });
} else {
this.$message({
message: res.msg,
type: <res className="sysRecode"></res>
});
this.flag = true; //执行完毕flag置为true 防止再次执行重复
}
}
这样会限死按钮 只能点击一次 对于from表单会有很多校验 记得每次校验完后把flag置为true
包括正确发布完成后也要把flag置为true
例如
else if (this.freightExpCode == "") {
this.$message.error("请选择运费模板!");
* this.flag = true; * //校验不成功不可以触发按钮事件
}
是不是很简单也很好用 当然大家有更好的方法可以分享交流哦 ~~