WeChat小程序交流(QQ群:769977169)
组件的多样式处理,是指不同状态下的样式,如未操作前的常规样式,点击高亮时的样式,选中状态下的样式。
如下效果图
代码示例
xxx.wxml
<text class='{{item.selected ? "textSelectedStyle" : "textNormalStyle"}}'>{{item.name}}</text>
xxx.wxss
.leftUIStyle .textNormalStyle{
width: 90%;
line-height: 44px;
padding-left: 10px;
font-size: 13px;
color: gray;
position: absolute;
}
.leftUIStyle .textSelectedStyle{
width: 90%;
line-height: 44px;
padding-left: 10px;
font-size: 13px;
color: red;
position: absolute;
}
具体设置思路:
1、wxss文件中,编写两套样式:常规状态的样式,选中状态下的样式,如:
.textNormalStyle{color: gray;}
.textSelectedStyle{color: red;}
2、wxjs文件中,数据源中选择字段处理:未选中的选中时则设置为true,前一个被选中的则设置为false,如:
listTmp[this.data.typeIndex].selected = false;
listTmp[index].selected = true;
3、wxjs文件中,调用方法,重置数据以便于重绘页面,如:
this.setData({typeNames: listTmp})
4、wxml文件中,根据数据的选择字段值进行判断,以确认调用哪个样式,如:
class='{{item.selected ? "textSelectedStyle" : "textNormalStyle"}}'