el-tooltip中 content点击事件 弹窗闪烁引发的思考

废话不多说上代码
const visible = ref(false);

<el-tooltip

v-model:visible="visible"

:teleported="false"

:show-arrow="false"

effect="light"

trigger="click"

placement="right-start"

popper-class="express-tooltip"

>

<div

@click.stop="visible = true"

>

</div>

<template #content>

<div>弹窗内容</div>

</template>

</el-tooltip>

在说这个问题之前一定要了解v-model:visible 和 :visible的区别
v-model的这种方式  可以实现双向绑定,同时 子组件也可以对应的值,但是呢 :visible就只能进行单向操作,只能改变父组件的值。
所以,添加了点击事件之后就会改了visible的值之后,v-model:visible也会改变一次,所以就导致弹窗会闪烁一下。

所以 解决办法就出来了:

两种方式:
        1、 v-model:visible  改成 :visible
        2、去掉点击事件
如果问题,可以留言再讨论
满意的点个赞👍🏻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值