循环定义visible---实现显示隐藏

本文介绍如何在Vue项目中,避免循环列表或弹窗中visible参数冲突,通过在每个数组对象中添加flag属性并动态改变,实现独立控制显示状态。作者还提供了抽屉组件的例子和处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环定义visible参数,实现循环出来的列表或者弹窗用同一个参数不冲突

以前的一些BUG,一直记录在自己小本本上,分享一下!!!

        要想在同一个循环的列表或者弹窗里面加入visible,如果咱们用普通的方法肯定不行,那样的话数组中的每一项都是用的同一个visible参数。

        所以,我想到了另外一种方法给每一项数组的对象里面添加一个flag属性,来代替visible。

我给大家用抽屉组件举个列子!

        这里要注意一下,某些组件的hanleChange事件不能拿值,如果拿不到值的话就直接写到html里面,亲测可以拿到值

    <a-drawer
      title="Basic Drawer"
      :visible="item.flag"
      @close="onClose"
      @click = "handleClick(item)"
      @hanleChange="(val)=>{item.flag = val}"  // 某些组件的change事件不能拿值,写在html可以拿到值
    >
      <p>Some contents...</p>
      <p>Some contents...</p>
      <p>Some contents...</p>
    </a-drawer>

然后我们要每次点击的时候给数组对象添加flag属性,这里我们用到了set

handleClick(item) {
  this.$set(item, 'flag', !item.flag)
}

这样就完成了!!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值