关于小程序点击view动态添加样式
发布日期:2021-05-26 12:02:20 浏览次数:22 分类:原创文章

本文共 1150 字,大约阅读时间需要 3 分钟。

基本逻辑: 

1.给每个view自定义dataIndex属性,从0开始

2.自定义一个名为selected的class,作为被选中后的样式

3.在wx.js中给viewId属性赋为0,用于默认显示。

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,所以会默认第一个切换了样式。

这样就完成了该事件:

 

 里面还有几个不足之处,时间仓促,暂且就这样写了。

以上。

上一篇:关于小程序去除button默认样式
下一篇:Fail to start qos server: dubbo version: current host: java.net.BindException:

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月09日 02时35分51秒