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 相关文章推荐
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
Vue实现多页签组件
Jan 14 Vue.js
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
vue完美实现el-table列宽自适应
May 08 Vue.js
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
Vue+Flask实现图片传输功能
Apr 01 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue 给数组添加新对象并赋值
Apr 20 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
vue实现input输入模糊查询的三种方式
Aug 14 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中取得文件的后缀名?
2012/02/20 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
String和StringBuffer的区别
2015/08/13 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
shell变量的作用空间是什么
2013/08/17 面试题
品牌宣传方案
2014/03/21 职场文书
融资租赁计划书
2014/04/29 职场文书
区域销售主管岗位职责
2014/06/15 职场文书