这篇文章主要介绍了微信小程序点击view动态添加样式过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
基本逻辑:
2.自定义一个名为selected的class,作为被选中后的样式
4.给每个view添加一个点击事件select,在点击某个view时 将dataIndex变成这个view的自定义index
5.在view中添加一个三木运算符用于控制选中样式 {{dataIndex == 0 ? 'selected':''}}
附图:
wxml
<view class="ICONBox {{viewId == 0 ? 'selected':''}} " bindtap="select" data-index= '0'> <view class="iconfont icon-haoping ic" ></view>好评 </view> <view class="ICONBox {{viewId == 1 ? 'selected':''}}" bindtap="select" data-index = '1'> <view class="iconfont icon-zhongping ic"></view>中评 </view> <view class="ICONBox {{viewId == 2 ? 'selected':''}}" bindtap="select" data-index ='2'> <view class="iconfont icon-bottom-comment ic"></view>差评 </view>
wxss
/* 表情盒子 */ .ICONBox{ border: 1px solid red; display: flex; justify-content: space-around; /* flex-direction: */ align-items: center; color: #999; font-size: 28rpx; } .ic{ margin-right: 5rpx; } .selected{ color: #f63 }
wxjs
data: { viewId : 0 },
select:function(e){ this.setData({ viewId: e.currentTarget.dataset.index }) },
由于viewId初始值是0,所以会默认第一个切换了样式。
这样就完成了该事件:
里面还有几个不足之处,时间仓促,暂且就这样写了。