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 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
Vue组件生命周期运行原理解析
Nov 25 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
vue+spring boot实现校验码功能
May 27 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 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
php上传文件的增强函数
2010/07/21 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
JS日历 推荐
2006/12/03 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python使用socket进行简单网络连接的方法
2015/04/29 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
Linux的文件类型
2016/07/05 面试题
《雾凇》教学反思
2014/02/17 职场文书
新年爱情寄语
2014/04/08 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
会计岗位工作总结
2015/08/12 职场文书
python OpenCV学习笔记
2021/03/31 Python
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis