小程序
小游戏
企业微信
微信支付
扫描小程序码分享
这是在for循环下出来的多个view,如何单击其中一个,就改变被点击的颜色。
我写出来是单击其中一个,全部都改变,小白求救!!!
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
统一回复:谢谢各位回复,昨天研究好久,已经实现该功能了。我用来两个视图层,判断status的状态来决定展示哪一个。
//xml <view wx:for="{{best_contents2}}" wx:key="id" > <view wx:if="{{item.status==0}}" class="item2_content1_datas" id="{{index}}" catchtap="choice_achievement" > <view>xxxxx</view> </view> <view wx:if="{{item.status==1}}" class="item2_content1_datas" id="{{index}}" catchtap="choice_achievement" > <view>xxxxx</view> </view> </view> //js //best_contents2为循环list choice_achievement:function(e){ var items_id=e.currentTarget.id var Best_content2=this.data.best_contents2 for (var i in Best_content2){ if(i==items_id){ if (Best_content2[i].status == 0) { Best_content2[i].status = parseInt(Best_content2[i].status) + 1 } } } this.setData({ best_contents2: Best_content2, }) },
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
<view wx:for='{{list}}' class="{{activeIndex===index?'active':''}}" bindtap='checkItem' data-index='{{index}}'></view> Page({ data:{ activeIndex:0,//给了个默认值 可以为null }, checkItem(e){ const {index} = e.currentTarget.dataset; const {activeIndex} = this.data; if(index==activeIndex){ return } this.setData({ activeIndex:Number(index) }) } })
class="activeIndex == index ? 'active' : 'normal' "
点击的时候获得clickedIndex
wx:if='{{index==clickedIndex}}'
加个if判断,对比下点击的key值。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
统一回复:谢谢各位回复,昨天研究好久,已经实现该功能了。我用来两个视图层,判断status的状态来决定展示哪一个。
//xml <view wx:for="{{best_contents2}}" wx:key="id" > <view wx:if="{{item.status==0}}" class="item2_content1_datas" id="{{index}}" catchtap="choice_achievement" > <view>xxxxx</view> </view> <view wx:if="{{item.status==1}}" class="item2_content1_datas" id="{{index}}" catchtap="choice_achievement" > <view>xxxxx</view> </view> </view> //js //best_contents2为循环list choice_achievement:function(e){ var items_id=e.currentTarget.id var Best_content2=this.data.best_contents2 for (var i in Best_content2){ if(i==items_id){ if (Best_content2[i].status == 0) { Best_content2[i].status = parseInt(Best_content2[i].status) + 1 } } } this.setData({ best_contents2: Best_content2, }) },
<view wx:for='{{list}}' class="{{activeIndex===index?'active':''}}" bindtap='checkItem' data-index='{{index}}'></view> Page({ data:{ activeIndex:0,//给了个默认值 可以为null }, checkItem(e){ const {index} = e.currentTarget.dataset; const {activeIndex} = this.data; if(index==activeIndex){ return } this.setData({ activeIndex:Number(index) }) } })
class="activeIndex == index ? 'active' : 'normal' "
点击的时候获得clickedIndex
wx:if='{{index==clickedIndex}}'
加个if判断,对比下点击的key值。