2016-12-03 69 views
0

在我的React应用程序中,我有一个表单,并将输入字段中显示的值绑定到其在对象中的相应属性,但发生了一些奇怪的事情。对象属性名称正在大写

我的用户对象是这样的:

{ 
    firstName: "", 
    lastName: "" 
} 

如果我配合我的输入字段属性的名称,因为它出现在这里,我不能键入到我的输入字段。

但是,如果我大写属性名称 - 如下面的代码 - 然后我可以键入我的输入字段,但我无法更新其值。我使用调试器来查看发生了什么,并注意到一旦我点击onChange函数,一些属性名称就会被大写。所以,user.firstName正在成为用户。 F irstName。所以,下面的代码可以让我输入到输入字段,但不能捕捉输入的值,因为对象属性的名称仍是姓

<input type="text" name="firstName" value={user.FirstName} onChange={myChangeFunction} /> 

任何想法可能会导致什么呢?

+0

你可以用这个问题创建一个jsfiddle/snippet吗? – QoP

回答

0

我刚才发现了这个问题。我创建了输入字段的确切方法是如下:

<input type="text" name="FirstName" value={user.firstName} onChange={myChangeFunction} /> 

正如你所看到的,我设置即使值设定为user.firstName名称FirstName

当我将其更改为name="firstName"时,它开始正常工作。