微信小程序批量获取input的输入值,监听输入框,数据同步

本文介绍了如何在微信小程序中实现多个input输入框的数据同步,避免为每个输入框单独编写事件监听。通过在wxml中设置data-name属性并绑定相同的bindinput事件,配合JS中的bindKeyInput方法,利用dataset获取当前输入框的name,动态更新数据,实现了批量输入框的数据绑定和同步。

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

微信小程序批量获取input的输入值,监听输入框,数据同步

在使用小程序时,跟vue的数据绑定不一样,没有v-model这个属性了,官网也只是给了一些事件监听。

但是我们如果有多个表单时,需要写多个事件来同步数据。这样做很麻烦。下面的方法可以解决,只需要一个方法即可。

wxml:

<view class="cu-form-group">
      <view class='title'>姓名</view>
      <input placeholder="请输入姓名" class='radius' bindinput="bindKeyInput" data-name="sorterInfo.shopName" value="{{sorterInfo.shopName}}"></input>
</view>
<view class="cu-form-group">
      <view class='title'>账号</view>
      <input placeholder="请输入账号" class='radius' bindinput="bindKeyInput" data-name="sorterInfo.username" value="{{sorterInfo.username}}"></input>
</view>
<view class="cu-form-group">
      <view class='title'>密码</view>
      <input placeholder="请输入密码" class='radius' type="password" bindinput="bindKeyInput" data-name="sorterInfo.password" value="{{sorterInfo.password}}"></input>
</view>
<view class="cu-form-group">
      <view class='title'>确认密码</view>
      <input placeholder="请输入确认密码" class='radius' type="password" bindinput="bindKeyInput" data-name="sorterInfo.password2" value="{{sorterInfo.password2}}"></input>
</view>

js:

/**
   * 输入框更改事件
   * @param {*} e 
   */
  bindKeyInput: function (e) {
    let item = e.currentTarget.dataset.name;
    this.setData({
      [item]: e.detail.value
    });
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值