7 способов создания полей ввода чисел в JSX

В этой статье блога мы рассмотрим различные методы создания полей ввода чисел в JSX. Поля ввода чисел обычно используются в веб-формах, чтобы пользователи могли вводить числовые значения. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять реализацию. Давайте погрузимся!

Метод 1: использование элемента <input>с атрибутом type, имеющим значение «число»

<input type="number" />

Метод 2: использование элемента <input>с атрибутом patternдля проверки

<input type="text" pattern="[0-9]*" />

Метод 3. Использование элемента <input>с пользовательской проверкой с использованием JavaScript

const handleInputChange = (event) => {
  const value = event.target.value;
  if (!isNaN(value)) {
    // Proceed with handling the valid numeric input
  } else {
    // Display an error message for invalid input
  }
};
<input type="text" onChange={handleInputChange} />

Метод 4. Использование сторонней библиотеки, например React-Number-Format

import NumberFormat from 'react-number-format';
<NumberFormat format="####" mask="_" />

Метод 5. Использование элемента ввода диапазона

<input type="range" min="0" max="100" />

Метод 6. Использование шагового компонента из библиотеки пользовательского интерфейса, например Material-UI

import { TextField } from '@material-ui/core';
<TextField type="number" InputProps={{ inputProps: { min: 0, max: 100, step: 1 } }} />

Метод 7. Использование пользовательского компонента с логикой проверки и форматирования

class NumberInput extends React.Component {
  constructor(props) {
    super(props);
    this.state = { value: '' };
  }
  handleChange = (event) => {
    const value = event.target.value;
    if (value === '' || /^[0-9]+$/.test(value)) {
      this.setState({ value });
    }
  };
  render() {
    return (
      <input type="text" value={this.state.value} onChange={this.handleChange} />
    );
  }
}
<NumberInput />

Это семь различных методов создания полей ввода чисел в JSX. В зависимости от ваших конкретных требований и библиотек, которые вы используете, вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Включите эти методы в свои проекты, чтобы улучшить взаимодействие с пользователем и повысить удобство использования веб-форм.