微信小程序有个属性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