我正在使用React Native并具有这些功能。 renderInputs()
生成一些输入字段,而getNextWord()
做一些不相关的事情,而且它更新状态。按钮单击时清除TextInput值 - 反应本机
getNextWord() {
// do some stuff
this.setState({ set states here });
}
renderInputs() {
var products = []
// some code that generates a randomNumber
for (let p = 0; p < randomNumber; p++){
products.push (<TextInput defaultValue="" maxLength={1} key={p} onChangeText={(text) => this.handleChange(text, p)}></TextInput>);
}
return products
}
在我render()
方法我显示输入字段,我把我的按钮,每次点击就会触发getNextWord()
功能。现在
<View>{this.renderInputs()}</View>
<Button onPress={this.getNextWord.bind(this)}>Get Next Word</Button>
,我可以看到正确的输入字段,每次我的“获取下一个字”按钮,单击renderInputs()
产生输入字段的新的一群。
我的问题是,如果我在其中一个输入字段中输入一个字符,一旦我点击按钮,我仍然可以看到那封信,而我想让所有的输入字段都是空的。
我试过使用defaultValue=""
,但它似乎不起作用。 如果我这样做:defaultValue="A"
这就是我运行应用程序后得到的结果。
例如:
第一次renderInputs()
叫做:
_ _ _ _ _ _ //空输入(比方说randomNumber
是6)
然后我在第二输入键入栏中输入字母,让我们说 “G”
_ g^_ _ _ _
Ø NCE我点击“获取下一个字”按钮renderInputs()
产生randomNumber
(假设产生randomNumber 8)的输入栏,这就是我得到:
AGAAAAAA
,但我想有:
AAAAAAAA
谢谢你的时间和答案,最后我解决了它使用的方法清除(0) – splunk
我猜你是新的编程和SO :)我不知道'clear(0)'是什么意思。很高兴你找到了解决方案! – goldylucks