Vue前端对于@Click触发事件的重复调用限制纪要
背景:公司前端框架做了请求状态背景图层(也是限制冗余触发),因此暂时未考虑单次触发禁用的场景,但是测试人员偶有反应手速快的时候会触发两次。以往没有写过vue相关的纪要,为此纪要一下。问题:vue如何避免对#Click事件的重复调用?解决办法:使用:disabled对事件的触发进行控制。<!-- DOM层 --><a v-if="!!scope.row.xx" title="详情"
·
背景:公司前端框架做了请求状态背景图层(也是限制冗余触发),因此暂时未考虑单次触发禁用的场景,但是测试人员偶有反应手速快的时候会触发两次。以往没有写过vue相关的纪要,为此纪要一下。
问题:vue如何避免对@Click事件的重复调用?
实现思路:
1. 给当前的触发dom一个disable属性,并为其配置一个公共默认为false不会开启的flag公量.
2. 继续给当前的触发dom一个click事件,用来开启dom的disable属性.此时用户便不能二次触发.
3. 如何关闭?
由于本例中会有二级面板弹窗,所以单独给了一个关闭disable的事件.
如果是其他的方式,如http请求,可以等待数据返回后在恢复disable的关闭状态.
解决办法:
使用:disabled对事件的触发进行控制。
<!-- DOM层 -->
<a v-if="!!scope.row.xx" title="详情" @click="earch()" :disable=expressData.flag>实时查询</a>
/** JavaScript */
export default {
data() {
return {
expressData: {
flag: false
},
};
},
methods: {
earchB() {
this.expressData.flag = false;
// Codding...
},
earch() {
this.expressData.flag = true;
this.earchB();
// Codding...
},
},
};
注意点:调用开始后要重新设值回false,否则状态不会发生变化。
更多推荐
已为社区贡献2条内容
所有评论(0)