已解决,使用for循环寻找符合条件的选项再删除 eg: for(let i in selectList){ if(selectList[i].indexSelect==current){ selectList.splice(i, 1) } }
使用splice获取id删除列表某项数组元素出现问题,删除数据删除错误?怎么获取我设置的id而不是数组下标? 搜遍全网也没有找到解决办法,都是用的我这种方法,但是删除的话删除过的位置会有数据顶替上来,后续再删除就有可能无法删除我点击的数据,而是删除id为indexSelect的元素,这该怎么办?代码问题如下: [图片][图片] <view class="tr" wx:for="{{selectList}}" wx:for-item="item" wx:key="indexSelect"> <view class="td1">{{item.selectService}}</view> <view class="td2">{{item.selectMonth}}</view> <view class="td3">{{item.oneListPay}}</view> <view class="td4"><text data-id="{{item.indexSelect}}" class="cancelSelect" bindtap="cancelSelect">{{item.cancel}}</text></view> </view> cancelSelect(e) { console.log(this.data.selectList) console.log("-----e") console.log(e) let current = e.currentTarget.dataset.id console.log("-----id/current") console.log(current) console.log("-----indexSelect") // console.log(this.data.selectList[current].indexSelect) var selectList = this.data.selectList selectList.splice(current, 1) this.setData({ selectList: selectList }) },
2022-03-03