<TextInput/>
を使ってリアクションネイティブでは<TextInput/>
がフォーカスされている場合にのみ/
を表示しようとしています。別の入力を入力した場合はそこにとどまります。現在はMM/YY
です。 /
の後に移動し、ユーザーが押し戻す場合は、/
の前に数字を削除します。React Native:フォーマットカードの有効期限を/ withと使用する方法<TextInput/>?
これまでの実装にはどのようなアプローチが適していますか?ありがとう、答えを受け入れることを確認します。
私は次のことを試してみましたが、長さのエラーを取得し、2つの数字が入力された後にこれが唯一の/
を追加します
_changeCardExpiry(value) {
if (value.indexOf('.') >= 0 || value.length > 5) {
return;
}
if (value.length === 2 && this.state.cardExpiry.length === 1) {
value += '/'
}
//then update state cardExpiry
}
...
<TextInput
onChangeText={this._changeCardExpiry.bind(this)}
placeholder='MM/YY'
value={cardExpiry}
/>
長さの誤差は何ですか? – PaulBGD
@PaulBGD 'if(text.length === 2 && this.state.cardExpiry.length === 1)'で '不定のプロパティ 'length'を読み取れません。 –