美文网首页
如何让微信小程序setData中的key值使用变量?

如何让微信小程序setData中的key值使用变量?

作者: Amy24 | 来源:发表于2018-12-17 10:50 被阅读26次

问题产生:

//  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
    })
  }

相关文章

网友评论

      本文标题:如何让微信小程序setData中的key值使用变量?

      本文链接:https://www.haomeiwen.com/subject/zplqkqtx.html