收藏
回答

checkbox 复用的问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug checkbox 工具 6.6.7 2.0.9

<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的时候,点击删除选中的这个,依旧是选中状态,其实说明还是复用了的?

这是什么原因?








最后一次编辑于  2018-06-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 2随
    2随
    2018-06-07

    这问题好高深,完全不懂,试了一下,就结果而言, 当清除了数组中的某一个元素时,键时会重排序的,即 0 1 2 3 4 5 删除第3个 会重新排序成 0 1 2 3 4,而不是 0 1 2 4 5,小程序在数据更新后,判断选中状态好像是依赖内存位置的。

    2018-06-07
    赞同
    回复
  • MS.
    MS.
    2018-06-08

    加了key 其实目的是为了取消复用的吧,但是说白了还是复用了

    2018-06-08
    赞同
    回复