vue如何根据条件判断按钮是否可以点击
目录
- 根据条件判断按钮是否可以点击
- 方法一:使用v-if 、v-else 来判断
- 方法二:增加一个变量,判断
- vue判断点击当前元素
- 需要判断你是点击了遮罩层还是form表单
- 接下来是分别对e.currentTarget、e.target打印
根据条件判断按钮是否可以点击
按钮当在特定环境下不可点击,需要根据判断来控制点击事件。
方法一:使用v-if 、v-else 来判断
<template> <div> <el-button v-if="!isDisabled"></el-button> <el-button v-else @click="getDetail()"></el-button> </div> </template>
方法二:增加一个变量,判断
<template> <el-button @click="!isDisabled && getDetail()"></el-button> </template>
<script> data(){ return{ isDisabled:true, //为true时可以点击,false时不可点击 } } </script>
两种方法都可以,但第二种相对来说编写的代码更少,具体怎么用看个人习惯。
vue判断点击当前元素
点击按钮,出现弹窗;然后点击遮罩层,当前弹窗消失。
一开始都会在遮罩层上绑定点击事件,但是这样的话,点击了form表单,当前弹窗也会消失。
需要判断你是点击了遮罩层还是form表单
1.在遮罩层上绑定点击事件 @click=“showfun2($event)”
<div class="topfrom" v-show="msg" @click="showfun2($event)"> <!--子组件--> <fromdemo btndata="点击咨询"></fromdemo> </div>
2.判断是否点击了当前元素 e.currentTarget === e.target
showfun2(e) { if (e.currentTarget === e.target) { this.msg = false } },
以上就完成当前事件点击元素的判断。
接下来是分别对e.currentTarget、e.target打印
showfun2(e) { console.log(e.currentTarget) console.log(e.target) },
第一次点击 遮罩层
第二次点击 form表单
发现 e.currentTarget 打印的始终是,绑定点击事件的元素。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
赞 (0)