Как обновить значение ввода текста, чтобы использовать формат валюты

Это мой код:

onChangeTextPrice(value) {
  const newPrice = parseInt(value, 10).toLocaleString(['ban', 'id']);
  return this.setState({ price: formatted });
}

Если я console.log(newPrice), он даст мне формат, например: 10.000.000

но по какой-то причине реагирующий собственный текстовый ввод не использует это значение, вместо этого он показывает 10000000.

но если я изменю значение TextInput следующим образом:

<TextInput
   keyboardType="numeric"
   value={'10.000.000'}
   multiline={false}
   underlineColorAndroid="transparent"
   onChange={val => this.onChangeTextPrice(val)}

Оно работает. Почему это ?


person william anputra    schedule 10.07.2018    source источник
comment
Я никогда не использовал реакцию, но чтение этого документа, кажется, дает ответ, поскольку это маскировка, а маскирование необходимо объявить перед инициализацией. github.com/benhurott/react-native-masked-text   -  person Ullas Hunka    schedule 10.07.2018
comment
Я предполагаю, что keyboadType="numeric" приведет к input type="number", который разрешает только числа без форматирования.   -  person Lars-Olof Kreim    schedule 10.07.2018
comment
Можете ли вы попробовать этот компонент npmjs.com/package/react-currency-input   -  person Pramod    schedule 10.07.2018
comment
Я использую github.com/react-native-community/react- native-text-input-mask для маскирования ввода.   -  person Shivam    schedule 10.07.2018
comment
@Pramod это не сработало   -  person william anputra    schedule 10.07.2018
comment
@UllasHunka Да, спасибо, сработало!!   -  person william anputra    schedule 10.07.2018
comment
@Shivam Спасибо за предложение, я получил желаемый результат с github.com/benhurott/ реагировать-родной-маскированный-текст   -  person william anputra    schedule 10.07.2018
comment
@williamanputra рад, что у вас все получилось.   -  person Shivam    schedule 10.07.2018


Ответы (1)


Возможно, вы захотите использовать один из следующих пакетов для достижения простой/сложной маскировки ввода.

github.com/benhurott/react-native-masked-text

github.com/react-native-community/react-native- маска ввода текста

Хороший учебник можно найти здесь

person Shivam    schedule 10.07.2018