vue点击事件的骚操作

  1. 数据是通过v-for渲染出来,点击某个按钮想显示删除文字,没想到所有的删除文字都显示了?
    点击的时候,传一个唯一标识进去,并且把他重新赋值,在显示删除哪里加一个判断。看赋值的标识和传入的标识是否一致 && 当前显示是true

代码实现

 <div class="del_llince" @click.stop="isR(item.Id, item.Name)">...</div>
        <div
          class="remo"
          v-if="choose === item.Id && isRemove"
          @click="del_allince(item.Id, item.Name)"
        >删除</div>
isR (id, name) {
      console.log(id)
      console.log(name)
      this.choose = id
      this.isRemove = !this.isRemove
      console.log('aaa', this.isRemove)
    },
  1. 经过上一步,你会发现删除的显示与隐藏,只能通过点击... 来实现影藏(改变isRemove的状态),但是我们想点击界面的任意一个地方,都让他消失,怎么弄?

代码实现

<template>
  <div class="create_contain" @click="isRemove = false">
  </div>
 <template>

关键点:

  • 在最外层的容器添加一个点击事件,专门让isRemove这个标识变为false
  • 在最初的点击事件,加.stop阻止事件冒泡
  • 如果在最外层的容器添加一个点击事件,没有生效,那你要审查元素,看你点击的部分,是否在最外层的容器的范围之内,不在的话,建议设置宽度为100%

后续遇到问题会继续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值