Я пытаюсь добавить юнит в поле избыточности. Поле содержит расстояние. Я хотел бы установить максимальное значение и добавить единицу после этого значения.
Если я введу «1000» в поле, поле должно показать «100см», и значение сохранится в состояниидолжно быть "100".
Я использую нормализатор, чтобы изменить значение, если вход слишком высокий. Эта часть работает.
Я использую средство форматирования, чтобы добавить единицу после значения, но я думаю, что это не очень хороший способ сделать это.
Когда средство форматирования добавляет единицу к значению,значение, полученное нормализатором, содержит эту единицу. Устройство только для демонстрации. Я не хочу видеть это в нормализаторе и не хочу сохранять это в магазине. Есть ли способ сделать это.
Вот мой код:
// Normalizer
const lessThanNormalizer = maxValue =>
newValue =>
return newValue<maxValue ? newValue : maxValue;
// Formatter
const unitFormatter = unit =>
value =>
value+" "+unit;
// Field component
<Field
name= "hardware.distance"
component= {renderMaterialTextField}
type= "text"
label= "Distance"
normalize= {lessThanNormalizer(100)}
format= {unitFormatter("cm")}
/>
Заранее спасибо !!