【微信小程式】公共方法實現實時捕捉input輸入
阿新 • • 發佈:2018-11-11
專案中,一個表單中經常有好幾個input,但是微信小程式並不像vue那樣實現雙向繫結,所以我們要自己去實現當用戶輸入的時候,實時獲取使用者輸入的值。
方法比較簡單,就兩個步驟。
1.wxml
<input data-name='form.base.name' bindinput="inputChange" name="text" value="{{ form.base.name }}" placeholder="請輸入姓名" />
2.js
page中有這個的data
data: {
avatar: '',
form: {
base: {
name: '',
age:0
}
}
實現一個公共方法去實時獲取輸入的值
//實時獲取input輸入
inputChange(e) {
const name = e.currentTarget.dataset.name;
this.setData({
[name]: e.detail.value
})
},
-
這裡利用了setData中的key可以使用變數這個特性來實現,key為變數的時候要用[ ]引起來。在wxml中的input控制元件中,監聽bindinput方法的時候使用data-name=‘form.base.name’ 傳入這個data的key,在inputChange方法中獲取到這個name,然後獲取到使用者輸入的值,設定到data中即可。
-
如果有多個input,同樣用上邊的方法,然後bindinput繫結inputChange,傳入key引數即可。