微信小程序(点击添元素加Class篇)
常用的记录一下
说一下思路
1、先给每个元素添加个id 和 状态
2、通过点击 修改对应id 下的状态 从而添加样式
效果图:
代码部分
wxml
<view class="label"> <view class="label-list {{item.isSelected ? 'active':''}}" wx:for="{{list}}" bindtap='itemSelected' data-index='{{index}}' wx:key="id">{{item.name}}</view> </view>
js
Page({ data: { list:[ { id: 1, name: '美食', isSelected: false, }, { id: 2, name: '运动健身', isSelected: false, }, { id: 3, name: '旅行', isSelected: false, }, { id: 4, name: '电影', isSelected: false, }, { id: 5, name: '音乐', isSelected: false, }, { id: 6, name: '阅读', isSelected: false, }, { id: 7, name: '时尚', isSelected: false, }, { id: 8, name: '科技', isSelected: false, }, { id: 9, name: '休闲娱乐', isSelected: false, }, { id: 10, name: '美食', isSelected: false, }, { id: 11, name: '摄影街拍', isSelected: false, }, { id: 12, name: '景点打卡', isSelected: false, }, ] }, itemSelected(e){ let index = e.target.dataset.index let temp_str = 'list['+index+'].isSelected'; console.log(); this.setData({ [temp_str]: !this.data.list[index].isSelected }); console.log(this.data.list) }, next(){ let id = [] this.data.list.map(res=>{ if(res.isSelected){ id.push(res.id) } }) wx.showToast({ title: '选中了'+id, icon: 'success', duration: 2000 }) } })
wxss
.label-btn{ margin: 0 105rpx; border-radius: 40rpx; padding: 14rpx 0; text-align: center; font-size: 28rpx; font-weight: 400; color: #FFF; } .label-btn.active{ background: #FF3D66; } .label{ display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; padding: 100rpx 35rpx; } .label-list{ background: #F7F7F7; border: 3rpx solid #F0F0F0; border-radius: 36rpx; padding: 10rpx 34rpx; font-size: 24rpx; font-family: PingFang SC; font-weight: 400; color: #404040; margin-bottom: 40rpx; } .label-list.active{ border: 3rpx solid #FF3D66; background: #FF3D66; color: #fff; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下