微信小程序批量获取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
});
},