html52.com
我爱小程序-开发者交流社区

微信小程序中的循环列表,怎么才能在点击时改变当前项的背景颜色

问题模块
API和组件

微信小程序循环出来的列表,怎么才能在点击时改变当前项的背景颜色,
改变当前选项颜色同时恢复之前被改变的颜色,保证同时只能有一个选项被改变颜色

网友回复

Tïedào:

currentTarget

huyuc0ng:

列表项里增加一个属性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

刘斌:

谢谢谢谢,解决了


Tïedào:

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样式的背景颜色。

刘斌:

蛮急的,希望大神帮帮忙

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付