乘风原创程序

  • vue如何根据条件判断按钮是否可以点击
  • 2022/4/8 13:42:07
  • 根据条件判断按钮是否可以点击

    按钮当在特定环境下不可点击,需要根据判断来控制点击事件。

    方法一:使用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 打印的始终是,绑定点击事件的元素。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持本教程网。