Как получить типизированное значение из ввода?

Я хотел бы получить типизированное значение из компонента ReactStrap Input с помощью функции onChange. Цель состоит в том, чтобы использовать только вход text, но иметь возможность получить конкретное типизированное значение (String или Number в моем примере ниже).

<Input valueAs="String" name="input1" type="text" onChange={this.onChange}></Input>
<Input valueAs="Number" name="input2" type="text" onChange={this.onChange}></Input>

Вы можете видеть, что ожидаемый тип определяется атрибутом valueAs. Я ожидаю получить событие в this.onChange с:

  • значение в виде строки для входа 1
  • значение как число для входа 2

Как лучше всего это сделать с помощью React / Reactstrap?


person Sophie    schedule 12.12.2017    source источник


Ответы (1)


Компонент Input reactstrap не имеет свойства с именем valueAs. Чтобы получить значение в нужном вам формате, вы можете:

<Input name="input1" type="text" onChange={(e) => this.onChange(`${e.target.value}`)}/>
{/* to make it integer you can add unary plus sign like so: */}
{/* this.onChange(+e.target.value) */}
person iamawebgeek    schedule 28.02.2018