微信小程序(点击添元素加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;
}
复制代码

 

posted @   会飞的小白  阅读(1950)  评论(0编辑  收藏  举报
编辑推荐:
· 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代理 了,记录一下
点击右上角即可分享
微信分享提示