1、在小程序中给一个列表加一个选中样式,效果如下:
2、wxml 文件
(1)data-item
是用来传当前位置的,必须要写:
<!-- 切换年、月、周、日 -->
<view class="time-type">
<view class="type {{activeItem == item.typeId ? 'active' : ''}}" wx:for="{{type}}" wx:key="index" bindtap="typeChange" data-type="{{item.time}}" data-typeId="{{item.typeId}}">
{{item.name}}
</view>
</view>
3、wxss 文件
(1)选中样式可自定义
/* 在这里做切换点击状态的样式 */
.time-type .active {
background-color: #ff6700;
}
4、js 文件
(1)要看清楚数据格式:
Component({
/**
* 组件的初始数据
*/
data: {
activeItem: 0,
type: [
{ typeId: 0, name: "日", time: "DAY" },
{ typeId: 1, name: "周", time: "WEEK" },
{ typeId: 2, name: "月", time: "MONTH" },
{ typeId: 3, name: "年", time: "YEAR" }
],
},
/**
* 组件的方法列表
*/
methods: {
// 绑定事件
typeChange(e) {
var type = e.target.dataset.type;
var typeid = e.target.dataset.typeid;
this.setData({ activeItem: typeid });
let eventDetail = {
type: type,
};
this.triggerEvent("getChangeType", eventDetail);
},
}
})