vue判断按钮是否可以点击


Posted in Vue.js onApril 09, 2022

根据条件判断按钮是否可以点击

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

方法一:使用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判断点击当前元素

点击按钮,出现弹窗;然后点击遮罩层,当前弹窗消失。

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)
},

第一次点击 遮罩层 

vue判断按钮是否可以点击

第二次点击 form表单

vue判断按钮是否可以点击

发现 e.currentTarget 打印的始终是,绑定点击事件的元素。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。 

Vue.js 相关文章推荐
Vue用mixin合并重复代码的实现
Nov 27 Vue.js
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
vue 动态生成拓扑图的示例
Jan 03 Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
vue动态设置路由权限的主要思路
Jan 13 Vue.js
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
解读Vue组件注册方式
May 15 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
vue如何在data中引入图片的正确路径
Jun 05 Vue.js
Vue Element plus使用方法梳理
Dec 24 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 #Vue.js
vue如何实现关闭对话框后刷新列表
Apr 08 #Vue.js
vue实现列表垂直无缝滚动
Apr 08 #Vue.js
vue3引入highlight.js进行代码高亮的方法实例
vue中的可拖拽宽度div的实现示例
vue 实现弹窗关闭后刷新效果
Apr 08 #Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 #Vue.js
You might like
PHP中的加密功能
2006/10/09 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php数组使用规则分析
2015/02/27 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
jQuery的三种$()
2009/12/30 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
Python常用的日期时间处理方法示例
2015/02/08 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
python使用epoll实现服务端的方法
2018/10/16 Python
Python必须了解的35个关键词
2020/07/16 Python
Pycharm安装python库的方法
2020/11/24 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
存储过程和函数的区别
2013/05/28 面试题
vue路由实现登录拦截
2021/03/24 Vue.js
创先争优演讲稿
2014/09/15 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书