У меня есть TextInput, как включить только числа менее 9999.99?

Ваши круглые скобки находятся вокруг самого тега и содержимого href, так что это будет захвачено. Если вам нужно зафиксировать закрытие>, тогда поместите вокруг нее скобки.

0
задан bennygenel 13 July 2018 в 10:39
поделиться

1 ответ

Ваше выражение в выражении также удаляет любые точки (.). Это приведет к потере любых поплавков. Если вы хотите включить float, вам нужно добавить . в ваше регулярное выражение.

Тогда вам нужно всего лишь проанализировать ваш текст, чтобы он плавал, и проверить, меньше ли это max float.

Образец

handleTextChange = (text) => {
    const newAmount = parseFloat(text.replace(/[^1-9.]/g, ''));
    this.setState({
      billAmount: newAmount > 10000 ? '9999.99' : newAmount + ''
    });
  }
2
ответ дан bennygenel 17 August 2018 в 13:08
поделиться
  • 1
    Хм, теоретически, это выглядит правильно, однако я все еще могу ввести цифры более 9999.99 – Lucky_girl 13 July 2018 в 11:02
  • 2
    @Lucky_girl Я узнал, что value prop должен быть строкой, а не числом. Обновлен мой образец. – bennygenel 13 July 2018 в 11:16
  • 3
    Удивительно, это работает сейчас! Большое спасибо! – Lucky_girl 13 July 2018 в 11:37
Другие вопросы по тегам:

Похожие вопросы: