2022-01-04 工作记录--Wechat applet-实现多选

一、效果图

在这里插入图片描述

二、分析

studentsDetails里自定义一个属性:isSelect,当点击某学员时,拿到对应的索引值,改变对应索引值的属性:isSelect(在truefalse之间转换)

三、代码

wxml:

<view class="students">
    <view class="student" wx:for="{{studentsDetails}}" wx:key="index" data-index="{{index}}" bindtap="clickStudent">
    	<image src="" class="{{item.isSelect ? 'selectedImg' : ''}}"></image>
    	<view class="small_text textAlign {{item.isSelect ? 'change_textColor' : ''}}">赵玉田</view>
    </view>
</view>

wxss:

student>image {
  display: inline-block;
  width: 100%;
  height: 116rpx;
  border-radius: 50%;
  background-color: pink;
  object-fit: cover;
  vertical-align: top;
  margin-bottom: 16rpx;
}

.selectedImg {
  width: 104rpx !important;
  height: 104rpx !important;
  border: 6rpx solid #FFB219;
}

.change_textColor {
  color: #ffaf10;
}

.textAlign {
  text-align: center;
}
.small_text {
  font-size: 24rpx;
  font-family: Source Han Sans CN;
  color: #666666;
}

js:【重点】

Page({

  /**
   * 页面的初始数据
   */
  data: {
    studentsDetails: [{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false},{isSelect:false}], // 弹出层-打卡的学员
  },
  
  // 弹出层-选择打卡学员
  clickStudent(e) {
    // 获取到点击内容的索引值
    const index = e.currentTarget.dataset.index;

	// 【注意】下面的key获取到的值是字符串
    const key = `studentsDetails[${index}].isSelect` // 第一种写法:es6写法
    // const key = "studentsDetails["+index+"].isSelect"; // 第二种写法:+号拼接
    
    this.setData({
      // 注意:下面的key要加[],因为key是个变量 ———— 在对象里面,属性/key值 为变量,要加中括号
      [key]: !this.data.studentsDetails[index].isSelect
    })
    
  },
  
})

JS中获取到点击内容的索引值 可参考我的另一篇博客里的 2、事件

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小呀小萝卜儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值