私がやろうとしていることを説明することはできますが、 このReactJSの例 はまさに私が望んでいることのウォークスルーです。問題は、reactNativeの同等物が何であるかを理解できないことです。
基本的に、TextInputでreturnキーを押すと、テキストがクリアされ、フォーカスが維持されます。
何かご意見は?
blurOnSubmit
プロパティを使用してPRを送信しました。
false
に設定すると、TextInput
がぼやけることはありませんが、onSubmitEditing
は引き続き起動します。
うまくいけば、それはマージされます。 :)
私は次の(実用的な)解決策を思いつきました:
var NameInput = React.createClass({
getInitialState() {
return {
textValue: ''
}
},
clearAndRetainFocus: function(evt, elem) {
this.setState({textValue: elem.text});
setTimeout(function() {
this.setState({textValue: this.getInitialState().textValue});
this.refs.Name.focus();
}.bind(this), 0);
},
render() {
return(
<TextInput
ref='Name'
value={this.state.textValue}
onEndEditing={this.clearAndRetainFocus} />
)
}
});
したがって、基本的に編集を終了するときに、textValue
状態をTextInput
の値に設定し、その直後(setTimeout
内)にデフォルトに戻します。 (空)そして要素に焦点を合わせ続けます。