收藏
回答

checkbox-group的bingchange事件怎么获取点击的index或者是选还是取消选?

checkbox-group的bingchange事件就只返回了一个数组?不返回index根本不知道我当前操作的是哪一个checkbox,也不知道此次操作是选中checkbox还是取消选中checkbox,太鸡肋了,稍微复杂一点的场景基本不能没用了,请问能有办法拿到当前操作的是哪个checkbox吗?没用过自定义组件,自定义组件可以解决这个问题吗?

最后一次编辑于  2020-03-20
回答关注问题邀请回答
收藏

2 个回答

  • 戒网的猫
    戒网的猫
    2020-04-07

    我也想知道哪个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事件,然后是子元素事件,我测试了下真机也行,请大家参考~

    2020-04-07
    有用 2
    回复 2
    • Accelerator
      Accelerator
      2020-05-04
      check-group取消勾选好像不更新newList呀,取消勾选是不是不触发bindchange?
      2020-05-04
      回复
    • 戒网的猫
      戒网的猫
      2020-05-09回复Accelerator
      触发啊,你看我截图上有 取消选中  的事件
      2020-05-09
      回复
  • 郑钱花
    郑钱花
    2020-03-20

    1.在event里找找有什么可以判断的。

    2.不用checkbox-group,完全受控所有的checkbox去实现也很简单

    2020-03-20
    有用
    回复 13
    • lwh😡
      lwh😡
      2020-03-23
      但是怎么让checkbox受控呢,文档里面没有对checkbox的单个监听的方法
      2020-03-23
      回复
    • 郑钱花
      郑钱花
      2020-03-23回复lwh😡
      checkbox的checked属性,你控制checked的值就是控制checkbox,你js基础好差啊
      2020-03-23
      回复
    • lwh😡
      lwh😡
      2020-03-23回复郑钱花
      不是,我意思是checkbox没有方法,只有checkbox-group有bindchange方法
      2020-03-23
      回复
    • 郑钱花
      郑钱花
      2020-03-23回复lwh😡
      点击事件试了没?先自己想方法试过之后再找别人帮忙,别一遇到困难就想让别人来解决。拿去看看https://developers.weixin.qq.com/s/CnFar3m471gc
      2020-03-23
      回复
    • lwh😡
      lwh😡
      2020-03-23回复郑钱花
      我已经试了三天了,点击事件也不满足的
      2020-03-23
      回复
    查看更多(8)
登录 后发表内容
问题标签