问题产生:
// wxml
<van-field value="{{ age }}" clearable label="年龄(岁)" placeholder="请输入年龄"
type="number" bind:change="changeField" data-key="age"/>
<van-field value="{{ height }}" clearable label="身高(cm)" placeholder="请输入身高"
type="number" bind:change="changeField" data-key="height"/>
<van-field value="{{ weight }}" clearable label="体重(kg)" placeholder="请输入体重"
type="number" bind:change="changeField" data-key="weight"/>
// js
changeField(e){
let key = e.currentTarget.dataset.key
this.setData({
key: e.detail
})
}
属性作为变量传入,因为无论属性加不加引号,都会被当成字符串对待,这样只是在data里面多了一条'key'的数据
解决:
es6对象属性加强
changeField(e){
let key = e.currentTarget.dataset.key
this.setData({
[key]: e.detail
})
}
网友评论