В React Native с использованием <TextInput/>
, я пытаюсь сделать /
, если только <TextInput/>
сфокусирован и останется там, если в него будет введен другой вход. В настоящее время формат MM/YY
, поэтому, когда пользователь вводит третью цифру, будет идти после /
, и если пользователь должен был отжать, он удалит цифру до /
.React Native: Как сделать окончание срока действия карты с помощью/<TextInput/>?
Итак, какой был бы правильный подход к реализации ранее упомянутых? Благодарю вас и обязательно отвечу.
Я попытался следующие, но получаю сообщение об ошибке с длиной, и это только добавление /
после две цифры были введены:
_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)' say 'Невозможно прочитать свойство 'length' undefined.' –