私のウェブページhttps://todayin.de/のsearchfieldと何とか似ているReact Native内に検索フィールドを作成したいと思います。私がこれまでにやったReact NativeボタンをクリックしてTextInputにテキストを追加
は以下の通りです:
class SearchField extends React.Component {
constructor(props){
super(props);
this.state = {text: ''};
this.U9 = '#U9';
}
render() {
return(
<View>
<TextInput
autoCorrect={false}
autoFocus={false}
placeholder="#Kicker #Moabit"
onChangeText={(text) => this.setState({text})}
value={this.state.text}
onSubmitEditing={(event) => this.startSearch()}
/>
<Button
style={{fontSize: 20, color: 'green'}}
styleDisabled={{color: 'red'}}
onPress={this.addTagToInput.bind(this)}
>
{this.U9}
</Button>
</View>
);
}
startSearch(){
alert(this.state.text);
}
addTagToInput(event){
this.state = {text: this.state.text + " " + this.U9};
}
}
module.exports = SearchField;
私はそれが正常に動作し、提出に警告()に示されているTextInputの検索テキストを入力します。ここで達成したいのは、ボタン "#U9"をクリックすると、文字列#U9をテキスト入力に追加して表示することです。今、 "test"というテキストを入力して "#U9"ボタンをクリックして送信すると、私は期待通りに "test#U9"という警告を受け取ります。 #U9が入力フィールドに表示されないという問題があります。ボタンをクリックすると、テキスト入力をどのように更新できますか?
finetuningのために、同じコードを10回繰り返さないように、foreach内のボタンと値に基づいて追加したいと思います。もしany1にもそれについての提案があれば、私はそれを聞いてみたい!
非常に細かいことに、私は次のことをしたいと思います: 最初のボタンをクリックすると、#U9がテキストに追加されます。 2番目のボタンをクリックすると、テキストから#U9を削除します。
ありがとうございました!むしろSETSTATEを呼び出すよりもあなただけの状態フィールドを再割り当てしている
乾杯、 オリバー
を動作するはずです偉大なああ、魔法のように動作します! ;) –
私は検索タグの追加と削除の作業をすることができたと思います。 foreachループでボタンをレンダリングする方法を提案していますか?10個の検索タグをあらかじめ定義したいのですか? –