3754关注11154浏览
<checkbox-group>
<view wx:for='{{arr}}' wx:key="{{item.id}}">
<checkbox value='{{index}}' wx:key="{{item.id}}"/>
<button data-index='{{index}}' bindtap='aa'>点击删除</button>
</view>
</checkbox-group>
arr:[
{ id: 1, name: 'lisi' },
{ id: 3, name: 'xiaoliu' },
{ id: 4, name: 'xiaoming' },
{ id: 5, name: 'zhangsan' },
{ id: 6, name: 'wangwu' },
]
aa(e){
let index=e.target.dataset.index;
let brr=[...this.data.arr];
brr.splice(index,1);
this.setData({
arr:brr
})
},
当我选中一个checkbox的时候,点击删除选中的这个,依旧是选中状态,其实说明还是复用了的?
这是什么原因?
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
大青
17人对此回答表示赞同
这问题好高深,完全不懂,试了一下,就结果而言,当清除了数组中的某一个元素时,键时会重排序的,即012345删除第3个会重新排序成01234,而不是01245,小程序在数据更新后,判断选中状态好像是依赖内存位置的。
展开170回复分享发布于 6年前评论(0)
收起评论
-
Arianna
16人对此回答表示赞同
加了key其实目的是为了取消复用的吧,但是说白了还是复用了
展开160回复分享发布于 6年前评论(0)
收起评论