小程序
小游戏
企业微信
微信支付
扫描小程序码分享
checkbox-group的bingchange事件就只返回了一个数组?不返回index根本不知道我当前操作的是哪一个checkbox,也不知道此次操作是选中checkbox还是取消选中checkbox,太鸡肋了,稍微复杂一点的场景基本不能没用了,请问能有办法拿到当前操作的是哪个checkbox吗?没用过自定义组件,自定义组件可以解决这个问题吗?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我也想知道哪个checkbox改变了,于是我刚试了下,效果如下:
<checkbox-group bindchange="choose"> <view wx:for="{{list}}" wx:key="id"> <checkbox value="{{item.id}}" data-id="{{item.id}}" bindtap="check"></checkbox> </view> choose(e) { this.data.newList = e.detail.value; console.log("group事件:",this.data.newList); }, check(e) { let id = e.currentTarget.dataset.id; console.log("当前checkBox事件:",id); if(this.data.newList.contains(""+id)){ console.log("选中:"+id); } else { console.log("取消选中:"+id); } },
事件触发是先 group事件,然后是子元素事件,我测试了下真机也行,请大家参考~
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
1.在event里找找有什么可以判断的。
2.不用checkbox-group,完全受控所有的checkbox去实现也很简单
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我也想知道哪个checkbox改变了,于是我刚试了下,效果如下:
<checkbox-group bindchange="choose"> <view wx:for="{{list}}" wx:key="id"> <checkbox value="{{item.id}}" data-id="{{item.id}}" bindtap="check"></checkbox> </view> choose(e) { this.data.newList = e.detail.value; console.log("group事件:",this.data.newList); }, check(e) { let id = e.currentTarget.dataset.id; console.log("当前checkBox事件:",id); if(this.data.newList.contains(""+id)){ console.log("选中:"+id); } else { console.log("取消选中:"+id); } },
事件触发是先 group事件,然后是子元素事件,我测试了下真机也行,请大家参考~
1.在event里找找有什么可以判断的。
2.不用checkbox-group,完全受控所有的checkbox去实现也很简单