微信小程序给for循环列表添加一个点击事件,点击会出现全部触发

新手上路,请多包涵

如下图所示,比如我只需要点击单个茶,就显示蓝色的已选择√和显示数量增加按钮,但是现在我点击一个就所有的都选中了?请问这个怎么解决呢?

clipboard.png

<view class="select">
      <view class="list">
        <view class="box" bindtap="click" wx:for="{{list}}" wx:key='*this' id="{{'btn'+idx}}" wx:for-index="idx"  data-idx='{{idx}}'>
          <view class="box1">
              <image class=" check" src="{{item.url2}}" hidden="{{show}}"></image>
          </view>
          <view class="pic">
            <image src="{{item.url1}}"></image>
          </view>
          {{item.title}}
          <view class="box1">
            <view class="count" hidden="{{show}}">
         
              <button catchtap="reduce" data-idx='{{idx}}'>-</button>
              <text>{{num}}</text>
              <button catchtap="add" data-idx='{{idx}}'>+</button>
            </view>
          </view>
        </view>
js:

click:function(e){
  console.log(e)
  var index = 0;
  switch(e.target.id){
    case 'btn0':
    index=0;
    break;

    case 'btn1':
    index=1;
    
    break;

    case 'btn2':
    index=2;
    
    break;

    case 'btn3':
    index=3;
    break;

    case 'btn4':
      index = 4;
      break;

    case 'btn5':
      index = 5;
      break;
  }
  this.setData({
    show:!this.data.show
  })
}
阅读 8.6k
1 个回答

你用一个变量show控制的可不就是全显示咯,list里每一项加个show的属性,点击改这个的值来控制还差不多

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题