按钮当在特定环境下不可点击,需要根据判断来控制点击事件。
<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>
两种方法都可以,但第二种相对来说编写的代码更少,具体怎么用看个人习惯。
点击按钮,出现弹窗;然后点击遮罩层,当前弹窗消失。
一开始都会在遮罩层上绑定点击事件,但是这样的话,点击了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
}
},
以上就完成当前事件点击元素的判断。
showfun2(e) {
console.log(e.currentTarget)
console.log(e.target)
},
第一次点击 遮罩层
第二次点击 form表单
发现 e.currentTarget 打印的始终是,绑定点击事件的元素。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理