在我的react-native应用程序中,我有一个API,我正在从中检索数据,并且我正在设置输入值中的数据,用户应该能够编辑这些输入并更新,但是当我尝试输入输入时,它不会输入任何内容,并且值保持不变,下面是TextInput代码:
<TextInput
placeholder= Email
value={this.state.info.email}
onChangeText={email => this.setState({ email })}/>
在我的react-native应用程序中,我有一个API,我正在从中检索数据,并且我正在设置输入值中的数据,用户应该能够编辑这些输入并更新,但是当我尝试输入输入时,它不会输入任何内容,并且值保持不变,下面是TextInput代码:
<TextInput
placeholder= Email
value={this.state.info.email}
onChangeText={email => this.setState({ email })}/>
7条答案
按热度按时间s4n0splo1#
我遇到了同样的问题,直到我把
value
属性改为defaultValue
:我在React的文档here上找到了这个信息
gjmwrych2#
由于我不认为电子邮件是你的
state.info
的唯一 prop ,我建议你正确使用setState()
,以便修改该字段。根据不变性和ES6,类似于:阅读更多关于处理
TextInput
herem1m5dgzv3#
首先,你需要声明状态,然后将该状态应用于TextInput Value。
第一次使用必须添加的API值填充TextInput
你的文本输入会像下面这样:
希望这个工作…
disbfnqx4#
我也遇到了同样的问题,直到我像这样将value prop改为defaultValue:
value={this.state.title} -而不是this
defaultValue={this.state.title} -使用这个
这就是全部。享受你的编码.
mmvthczy5#
我想你的处理函数中有一个错误。当你调用setState时,你更新了
this.state.email
,但在你的文本输入值中你使用了this.state.info.email
,你也把事件对象写入了电子邮件,而不是字段的新值(event.target.value
)。你应该用这样的东西。hc8w905p6#
我不知道这是否是一个好的方法或没有,但Dustin Spengler的答案为我工作,没有任何问题。我没有足够的声誉来支持和评论。
qyyhg6bp7#
试试这样
当你把***
value
prop改为defaultValue
*时,你必须把它变成一个字符串,defaultValue
不接受number
您可以使用
toString()
**方法将其转换为字符串。如下图所示
更多关于React文档here的信息