微信小程序绑定动态数组,实现自定义单选框(点击按钮后禁用该按钮并启用其他按钮)

这篇小记介绍了如何在微信小程序中使用WXML和JS动态绑定实现按钮的控制。通过设置`disabled`属性并结合数组,可以实现多个按钮的循环控制,例如在‘开始连接’、‘断开连接’、‘结束服务’等流程中切换按钮的可用状态。文中详细解释了如何使用`setData()`方法更新数据,并展示了在JS中操作数组元素改变按钮状态的技巧,同时也提到了微信小程序中与标准JS不同的语法特性。
摘要由CSDN通过智能技术生成

小记:

近期在学习微信小程序参与一个自己的嵌入式控制项目,前端所了解的不深,遇到好些问题,就在这里,零零碎碎做一些笔记。

下面就微信小程序使用WXML标签绑定JS中的数组实现的可在循环中控制批量的按键。

1、实现动态绑定

首先来看看单个按键如何动态绑定,通过{{变量名}}的形式将JS中的变量传递给对应属性

<view>
<button disabled="{{disabled}}" bindtap="Button_1">按钮1</button>
</view>

对应的JS代码,这里和标准的JavaScript不同的是不可以使用

document.getElementById("p1").innerHTML="新文本!";的方式获取到对应HTML中的节点信息,并获得修改的权限,而要使用setData()函数,参考代码如下。

Page({
  data: {
    disabled:false,
    },

  Button_1(){
    this.setData({
      disabled:false,
    })
  },
})

2、实现数组动态绑定

使用数组的形式在JS中定义disable:[{}],在WXML标签属性中引用,这里由于很小白,摸索了好久才会使用三个按钮点击的事件分别是Button_1这里只演示一个按钮按下后,其他按钮的disable属性修改为false,即启用其他按钮,类似于单选按钮一样。

可适用于"开始连接"—>"断开连接"—>“结束服务"等流程化的按钮操作。

<view>
<button disabled="{{disabled[1].value}}" bindtap="Button_1">按钮1</button>
<button disabled="{{disabled[2].value}}" bindtap="Button_2">按钮2</button>
<button disabled="{{disabled[3].value}}" bindtap="Button_3">按钮3</button>
</view>

在微信小程序的JS中存在一些与标准JS不一样的语法,可能是微信小程序开发团队处于某些因素考虑,修改了部分写法,但如果掌握了还是可以挺好用的。

Page({
  data: {
    disabled:[
      {value:false,},{value:true},{value:true},//*****重点哦*****//
    ]
    },

    Button_1(){
    for(let i = 2; i <= 3;i++)
    let temp = 'diasbled['+i+'].value'//*****重点哦*****//
    this.setData({
      temp:false
    }),
})

在JS中需要注意的有两点:let temp = 'diasbled['+i+'].value',使用过字符串连接的方式吧disable[i].value和WXML中调用的一样,但由于setData中不允许有这种形式出现,所以只好定义一个临时变量承担这个名称指代作用,然后相同的使用temp:false来操作。

数组的disable在data:{}定义的时候的语法也要注意一下,我是通过i直接做index索引的。

另外还有一个很坑很坑的坑,就是如果关键词没有表上其他的颜色,如下图的id3后面的value:ture是会报错的,他认为是没有ture的定义。

——————

希望小记对你有所帮助哦!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

盒子桥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值