循环定义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)
}
这样就完成了!!!!