Mobx textField的属性值不会更改

时间:2018-01-19 15:34:20

标签: javascript reactjs mobx mobx-react

我来自 material-ui TextFields 。在值更改时,我将值分配给 model.data 模型是mobx FormStore 。在控制台中,您可以看到值更改,但输入字段在我键入时没有任何字符。为什么即使model.data发生更改, TextField的属性值也不会更改?

2 个答案:

答案 0 :(得分:1)

在创建可观察对象后,将属性添加到observable对象将不会使添加的属性可观察。您需要使用extendObservable()而不是直接将新属性分配给可观察对象。另一种解决方案是使用可观察的地图。请注意,如果在循环中呈现组件,则不会拾取通过extendObservable()添加的属性。

extendObservable(model.data, {[e.target.name]: e.target.value})

Read official document here

答案 1 :(得分:0)

想出来。

extendObservable(model.data, {
  name: '',
  lastName: '',
  phone: '',
  skype: '',
  slack: '',
  linkedIn: '',
});

似乎可以工作,因为可观察对象中的属性是不可观察的。您需要使用extendObservable。