微信小程序有个属性hover-class='active',是指当点击列表元素时当按下鼠标左键会显示active样式,但是鼠标离开样式就会复原.可以参考以下解决方案,直接上代码:
wxml:
?
1 2 3 4 5 6 7 8
| <view class= "taga" > <view class= "tag-title" >标签</view> <view class= "tag-box" > <view wx: for = "{{taga}}" wx:key= "id" wx: for -index= "i" > <view class= "taga-item {{currentItem==item.id?'active-tag':''}}" data-id= "{{item.id}}" bindtap= "tagChoose" >{{item.name}}</view> </view> </view> </view>
|
js文件:
?
1 2 3 4 5 6 7 8 9 10 11
| tagChoose: function (options){ var that = this var id = options.currentTarget.dataset.id; console.log(id) //设置当前样式 that.setData({ 'currentItem' :id })
}
|
核心点:class=”taga-item {{dateCurrent==item.id?'active-tag':”}}”模板文件中使用三元运算符,通过dateCurrent指定当前item的id