小程序循环按钮多选高亮 / 隐藏

5 篇文章 0 订阅
1 篇文章 0 订阅
  • 本片文章说一下 列表循环出来的按钮如何多选( 顺便提一下单选 )
    • 单选
    • 原理就是 点击按钮获取绑定身上的索引 然后对比 那个按钮身上索引一样
      就给它高亮的class 否则给 “”

在这里插入图片描述


	<view wx:for="{{hotList}}" data-id="{{item.id}}"  data-index="{{index}}" bindtap="unit" class="btn {{unitIndex == index ? 'btn-active' : ''}}"  wx:key="*this">
		{{item.unit}}
	</view>
// 0  默认选择第一个
 unitIndex: 0,
 hotList:[
      {
        unit: "天",
        id: 1
      },
      {
        unit: "小时",
        id: 2
      },
      {
        unit: "月",
        id: 3
      },
      {
        unit: "次",
        id: 4
      },
      {
        unit: "单",
        id: 5
      }
    ],
     unit(e){
	    let index = e.target.dataset.index;
	    let price_unit = e.target.dataset.id
	    this.setData({
	      unitIndex: index,
	      price_unit
	  })
  },
  • 多选
    在这里插入图片描述
  • 原理: 将按钮列表 添加一个属性 selected = false (都不被选中)
    点击那个获取索引 更改数组中的 selected = true (这个索引下的按钮将会高亮)

    上代码

		<view bindtap="potcheckboxChange" wx:for="{{hot_list}}" data-value="{{item.name}}" data-index="{{index}}"
				checked="{{item.selected}}" wx:for-index="index" wx:key="*this"
				class="btn {{item.selected ? 'typeBtn' : ''}}"
				>
			{{item.name}}
		</view>

在这里插入图片描述

 potcheckboxChange(e) {
    let string = "hot_list[" + e.target.dataset.index + "].selected"
    this.setData({
      [string]: !this.data.hot_list[e.target.dataset.index].selected
    })
  },

单选:获取点击元素索引和列表中的索引对比相同就给高亮class如果有默认选项为他的下标即可

多选:数组中每个选项都加一个属性selected:false(当然如果想默认选中可以为true)点击获取元素的索引从而更改数组中对应的索引的selected为true反之为false

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值