如下图所示,比如我只需要点击单个茶,就显示蓝色的已选择√和显示数量增加按钮,但是现在我点击一个就所有的都选中了?请问这个怎么解决呢?
<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
})
}
你用一个变量show控制的可不就是全显示咯,list里每一项加个show的属性,点击改这个的值来控制还差不多