web-dev-qa-db-ja.com

AndroidでTextInputに入力したテキストの終わりではなく始まりを表示させるにはどうすればよいですか?

私のreact-nativeアプリケーションにはTextInputがあります。値propを設定し、値がTextInputの長さよりも長い場合、テキストは最初ではなく最後から表示されます。 iOSでは問題なく動作しますが、Androidの問題のようです。テキストをTextInputの先頭から表示するように配置する方法はありますか、それともどちらが望ましいですか?

これは私が見るものです:

enter image description here

これが私が欲しいものです:

enter image description here

これが私のコードです

<TextInput
defaultValue={address}
ref="searchInput"
autoCorrect={false}
style={searchStyles.searchInputField}
placeholderTextColor={'#ddd'}
placeholder="Location"
onChangeText={query => this.search(query)}
/>
13
Wellington

私は同じ問題に遭遇しました。これに対する私の解決策は、デフォルトで開始に selection propを追加することでした。これは、入力がフォーカスされたときに開始に進むように機能します。次に、 autoFocus propを追加し、それをtrueに設定して、コンポーネントがロードされたときに開始するようにしました。

<TextInput value={address} autoFocus={true} selection={{start:0, end:0}} />

これを行うためのより良い方法があるかもしれませんが、これは私が他の人を助けることを願って思いついたものです。

2
Aidan Doherty
this.inputRef &&
        this.inputRef.setNativeProps({ selection: { start: 0, end: 0 } })

OnEndEditingと、テキストを更新する場所にコードを配置します。

または、テキストと選択を同時に更新します。

this.inputRef &&
        this.inputRef.setNativeProps({ text: value, selection: { start: 0, end: 0 } })
0
Đạt Trần

ellipsizeMode="head"またはellipsizeMode="tail"を試すことができます

0
Pravin

追加 selection={{start:0}}end属性なし

0
Yossi Saadi