Как нормализовать избыточную форму с помощью реактивной нативной, чтобы предотвратить больший вклад? - PullRequest
0 голосов
/ 26 мая 2018

Использование: redux-form@7.3.0

<Field
    component={({ input: { onChange }}) => <TextInput onChangeText={onChange} />}
    name=‘truncate’
    normalize={(value) => value && value.toString().slice(0,2) || ''}
/>

При вводе в это усеченное поле отображаемые значения не усекаются.Я могу продолжать печатать после первых двух символов и видеть вывод.

Я вижу только первые два символа в поле усеченного поля при отправке окружающей формы.

Почему видимый вывод небыть усеченным, предотвратить больше ввода?

Основываясь на ответе Чарльза, приведенном ниже, я также попробовал пример телефонного номера, показанный на странице примера в формате приставки;выход не нормализован.

Попытка воссоздать нормализацию телефона, показанную в примере, приводит к тем же результатам - нормализация в отображаемом поле отсутствует:

https://redux -форма.com / 7.3.0 / примеры / нормализующие /

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете отменить использование normalize реквизита и применить maxLength реквизит к своему TextInput.

Пример:

<Field
    component={({ input: { onChange }}) => <TextInput onChangeText={onChange} maxLength={2} />}
    name="truncate"
/>

В качестве альтернативы, вы можете попробовать передать оставшиеся входные реквизиты на ваш TextInput.

Пример:

<Field
    component={({ input: { onChange, ...remainingProps }}) => <TextInput onChangeText={onChange} {...remainingProps} />}
    name="truncate"
    normalize={value => value && value.slice(0, 2)}
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...