【小程序】关于bindtap传值

本文介绍如何在小程序中实现标签选中效果,通过点击不同标签切换其样式以表明当前选中状态。主要讲解了使用data-index传递参数,并通过事件处理函数selectTag更新数据属性tagsSelect来达到目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

啦啦啦,端正态度,开始写技术博客哼哼~

刚开始练手,准备模仿朝夕日历的番茄闹钟进行语法以及布局练习:

这里写图片描述

从最简单的需求开始:点击分类,下面多一条红色border表示选中。

在Page中定义一个值tagsSelect,作为选项的参数:

Page({
...
  data: {
    tagsSelect:0
  },
...
})

定义一个方法,来接收选项值的改变,从而改变样式:

但如果你这么写,

<view class="{{tagsSelect==6?'active':''}}" bindtap="selectTag(6)">阅读</view>

会出警告:
这里写图片描述

我们需要给所在的view标签里加一个自定义属性 data-index,来传递参数:

...
<view class="tagsRow">
    <view class="{{tagsSelect==1?'active':''}}" data-index="1" bindtap="selectTag">工作</view>
    <view class="{{tagsSelect==2?'active':''}}" data-index="2" bindtap="selectTag">学习</view>
    <view class="{{tagsSelect==3?'active':''}}" data-index="3" bindtap="selectTag">思考</view>
</view>
...

JS中方法如下,小程序中值的修改都要用setData方法:

...
selectTag:function(event){
    var $this = this;
    $this.setData({
        tagsSelect:event.target.dataset.index,
      })
  },
  ...

event.target.dataset.+(自定义属性名 data-后的名称)

以上。

PS:第一次写技术博客很不熟练,抛砖引玉,望各位大大指点~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值