微信小程序中的循环列表,怎么才能在点击时改变当前项的背景颜色
微信小程序循环出来的列表,怎么才能在点击时改变当前项的背景颜色,
改变当前选项颜色同时恢复之前被改变的颜色,保证同时只能有一个选项被改变颜色
微信小程序循环出来的列表,怎么才能在点击时改变当前项的背景颜色,
改变当前选项颜色同时恢复之前被改变的颜色,保证同时只能有一个选项被改变颜色
列表项里增加一个属性data-index=“{{index}}”
请问是怎么加
<view wx:for="{{list}}"> <view class="row" bindtap="rowTap" data-index="{{index}}"> <view class="title"> <text>{{item}}</text> </view> </view></view> |
rowTap: function(e){ console.log(e.target.dataset.index)} |
这样加没用,打印出来是undefined
1、page.data里设一个变量,比如activeItemIndex。
2、列表项里增加一个属性data-index=“{{index}}”
3、在列表项的catchtap事件里page.setData({activeItemIndex: e.target.dataset.index})
4、列表项的class里根据activeItemIndex设置不同样式,如class=“{{index===activeItemIndex?‘active’:‘’}}”
5、wxss里定义.active样式的背景颜色。