Я очень озадачен тем, как справиться с этой ситуацией.Я использую поля ввода реагировать.Они заполняются при рендере, но пользователь может изменить значение.Однако эта конкретная проблема возникает, когда поле не будет пустым, а вместо этого, если в поле ввода нет чисел и вы вводите значение, которое не является числом, оно добавляет начальный ноль.Этот ноль не может быть удален, если вы не выделите его и не введете число.В противном случае этот ноль остается в начале любого значения, которое вы вводите.
например:
InputField: 100000
^ выделение сверху и backspace приводит к:
InputField: 0
теперь все значения добавленыбудет иметь этот ноль
InputField: 0150000
тот же результат, если вы попытаетесь выделить и ввести (-) или не числовое значение.
Я все равно не могу придуматьчтобы решить это прямо сейчас.Это просто реагирующий элемент ввода, который делает это?
Также в поле ввода используется пользовательский форматировщик чисел, проверьте код, чтобы увидеть, как он работает
<Input
name="firstItem"
onChange={this.handleChange('firstItem')}
value={firstItm}
onFocus={this.handleFocus}
inputComponent={NumberFormatCustom} <<< Formatter
/>
NumberFormatCustom Класс:
import React from 'react'
import NumberFormat from 'react-number-format'
const NumberFormatCustom = (props: any) => {
const { inputRef, onChange, ...other } = props
return (
<NumberFormat
{...other}
getInputRef={inputRef}
onChange={onChange}
thousandSeparator
isNumericString
/>
)
}
export default NumberFormatCustom