微信原生小程序提供了两种方式实现表单双向绑定。
- 使用微信原生的
setData
方法,通过在data
中定义表单数据,并在wxml
文件中使用bindinput
或bindblur
等事件监听器,将输入的值重新赋给data
中对应的数据。具体步骤如下:
在page.js文件中定义表单数据:
Page({
data: {
inputValue: ''
},
input(e) {
this.setData({
inputValue: e.detail.value
});
}
});
在wxml文件中绑定事件监听器:
<input bindinput="input" value="{{inputValue}}" />
- 使用微信原生的
form
组件,该组件封装了表单的数据绑定和校验功能。具体步骤如下:
在page.js文件中定义表单数据:
Page({
data: {
formData: {
inputValue: ''
}
},
formSubmit: function(e) {
console.log('form发生了submit事件,携带数据为:', e.detail.value);
this.setData({
formData: e.detail.value
});
},
formReset: function() {
console.log('form发生了reset事件');
this.setData({
formData: {}
});
}
});
在wxml文件中使用form
组件和input
组件:
<form bindsubmit="formSubmit" bindreset="formReset">
<input name="inputValue" value="{{formData.inputValue}}" />
<button form-type="submit">提交</button>
<button form-type="reset">重置</button>
</form>
通过上述方法,就可以实现微信原生小程序的表单双向绑定。