Mobx textField 的属性值没有改变
Mobx textField's attribute value doesn't change
我有来自 material-ui 的 TextFields。在值更改时,我将值分配给 model.data。 模型 是 mobx FormStore。在控制台中,您可以看到值发生变化,但输入字段在我键入时没有任何字符。为什么 TextField 的 属性值没有改变,即使 model.data 改变了?
在可观察对象创建后向其添加属性不会使添加的属性可观察。您需要使用 extendObservable()
而不是直接将新属性分配给可观察对象。另一种解决方案是改用可观察地图。请注意,如果组件在循环中呈现,则不会选取通过 extendObservable()
添加的属性。
extendObservable(model.data, {[e.target.name]: e.target.value})
想通了。
extendObservable(model.data, {
name: '',
lastName: '',
phone: '',
skype: '',
slack: '',
linkedIn: '',
});
似乎有效,因为可观察对象中的属性不可观察。你需要使用 extendObservable.
我有来自 material-ui 的 TextFields。在值更改时,我将值分配给 model.data。 模型 是 mobx FormStore。在控制台中,您可以看到值发生变化,但输入字段在我键入时没有任何字符。为什么 TextField 的 属性值没有改变,即使 model.data 改变了?
在可观察对象创建后向其添加属性不会使添加的属性可观察。您需要使用 extendObservable()
而不是直接将新属性分配给可观察对象。另一种解决方案是改用可观察地图。请注意,如果组件在循环中呈现,则不会选取通过 extendObservable()
添加的属性。
extendObservable(model.data, {[e.target.name]: e.target.value})
想通了。
extendObservable(model.data, {
name: '',
lastName: '',
phone: '',
skype: '',
slack: '',
linkedIn: '',
});
似乎有效,因为可观察对象中的属性不可观察。你需要使用 extendObservable.