Отформатируйте TextInput в onChangeText в долларах в React Native, используя Redux - PullRequest
0 голосов
/ 04 апреля 2019

Я изо всех сил пытаюсь найти правильное решение для форматирования числового ввода в TextInput с использованием функции onChangeText в React Native с использованием Redux.

Я пытался использовать функцию .toFixed(2), но проблема в том, что как толькопоскольку в функцию введена одна цифра, она интерпретирует следующую цифру как первую десятичную и округляет ее обратно до 0. Это потому, что я управляю вводом с помощью Redux.Как только набирается одна цифра, она сохраняется в состоянии Redux, и значение prop TextInput подключается к этой части состояния Redux.

Пример: я набираю 5, затем toFixed(2) возвращает 5.00.Когда я сейчас набираю 3, он интерпретируется как 5.03, а функция округляет его и возвращает 5.00.


Я также пытался использовать react-native-masked-text, но проблема в том, чтоиз-за ошибки в реальном TextInput из React Native у меня ужасный мерцающий эффект, и я не могу от него избавиться.(https://github.com/benhurott/react-native-masked-text/issues/12)


Идеальным способом было бы ввести одну цифру и иметь ее в качестве первой десятичной дроби, когда я нажимаю следующую цифру, десятичная точка сдвигает одну вправо. Пример: я печатаю 7, TextInput должен показывать 0.07, затем я набираю 9, а TextInput должен показывать 0.79. Затем я набираю 4, и TextInput должен показывать 7.94 и т. Д.

Многобанковских приложений в США делают это в качестве стандартной практики.

1 Ответ

0 голосов
/ 04 апреля 2019

Вы должны попробовать использовать act-native-text-input-mask , разработанную самим реактивом-native-сообществом

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...