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实现图书管理小案例
Dec 03 Vue.js
vue监听滚动事件的方法
Dec 21 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
vuex的使用步骤
Jan 06 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
vue脚手架项目创建步骤详解
Mar 02 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
vue ref如何获取子组件属性值
Mar 31 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
Python中的index()方法使用教程
2015/05/18 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
Python对excel的基本操作方法
2021/02/18 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
vue路由实现登录拦截
2021/03/24 Vue.js
成功的酒店创业计划书
2013/12/27 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
Java后台生成图片的完整步骤
2021/08/04 Java/Android