收藏
回答

小程序picker组件中setData()后无法触发视图层数据变更

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 工具 7.0.5 2.8.2

描述:

在官方例子picker组件的多列选择其中看到一个写法(bindMultiPickerColumnChange

https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

```

let data = {

multiArray: this.data.multiArray,

multiIndex: this.data.multiIndex,

area: this.data.area

};

data.area="324234"

this.setData(data);

```

这个写法在bindMultiPickerColumnChange方法中运行正常,但是如果我在bindPickerChange 方法中也用类似的写法却不能正确反映在视图层中。需要明确指出具体要更改的字段才能生效。

setData()方法传递一个对象进去是只能在某些特定的组件方法中才能使用还是什么问题?

实际结果:页面上area字段没有被替换。

期待结果: 页面上area字段替换成324234。

具体代码参见下面代码片段:

代码片段

测试环境:微信开发者工具


最后一次编辑于  09-11  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 残か
    残か
    09-11

    兄弟,你setData里面就一个data  是什么意思啊  没看懂你这波操作,我也是萌新

    09-11
    赞同
    回复 1
    • 汤汤
      汤汤
      09-11
      应该相当于this.setData({multiArray: this.data.multiArray, multiIndex: this.data.multiIndex, area: this.data.area});
      09-11
      回复
问题标签