Javascript Mobx textField';s属性值不为';不变
我有来自物料界面的文本字段。在值更改时,我将值分配给model.data模型是mobxFormStore。在控制台中,您可以看到值发生了变化,但输入字段在我键入时没有任何字符。为什么即使model.data更改,TextField的属性值也不会更改?Javascript Mobx textField';s属性值不为';不变,javascript,reactjs,mobx,mobx-react,Javascript,Reactjs,Mobx,Mobx React,我有来自物料界面的文本字段。在值更改时,我将值分配给model.data模型是mobxFormStore。在控制台中,您可以看到值发生了变化,但输入字段在我键入时没有任何字符。为什么即使model.data更改,TextField的属性值也不会更改? 在可观察对象创建后向其添加属性不会使添加的属性可见。您需要使用extendObservable(),而不是将新属性直接分配给可观察对象。另一个解决方案是使用可观察地图。请注意,如果在循环中呈现组件,则不会拾取通过extendObservable()
在可观察对象创建后向其添加属性不会使添加的属性可见。您需要使用
extendObservable()
,而不是将新属性直接分配给可观察对象。另一个解决方案是使用可观察地图。请注意,如果在循环中呈现组件,则不会拾取通过extendObservable()
添加的属性
extendObservable(model.data,{[e.target.name]:e.target.value})
把它弄明白了
extendObservable(model.data, {
name: '',
lastName: '',
phone: '',
skype: '',
slack: '',
linkedIn: '',
});
似乎可以工作,因为可观察对象中的属性是不可观察的。您需要使用extendObservable。能否发布一个功能代码示例?如果不了解代码是如何设置的,就几乎不可能给出答案。我是否必须每次在onChange函数中扩展observable?这似乎不对。在函数外部,没有定义e。我发现,您只需要使用TextField值属性扩展可服务的model.data。非常感谢。