小程序中点击给当前添加active的选中样式

这篇博客介绍了如何在微信小程序中为列表添加选中样式。通过在wxml文件中使用wx:for和wx:key指令,结合data属性传递当前选中项,再利用wxss设置选中状态的样式,实现点击切换不同类型的背景颜色。同时,js文件中定义了typeChange方法处理点击事件,更新选中项并触发自定义事件。
摘要由CSDN通过智能技术生成

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);
        },
    }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值