我正在使用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