Мне нужно, чтобы получить доступ к входу внутри InputGroup BlueprintJs реагировать компонент

Компонент BluePrintJS React InputGroup великолепен и удобен для современного пользовательского интерфейса. Но, к сожалению, компонент React не разрешает доступ к элементу внутри.

Мне нужно получить доступ к элементу ввода по двум основным причинам:

  • если в моей форме 50 входных групп, я не хочу писать 50 обратных вызовов OnChange(). Когда пользователь заканчивает все вводы, я хочу получить все InputGroup.value(), что невозможно (это возможно с обычным элементом ввода благодаря HTMLInputElement.value, но InputGroup не разрешает доступ к внутреннему вводу)

  • При отображении формы мне нужно сосредоточиться на первом поле. В InputGroup нет функции focus(), а в HTMLInputElement - одна.

Вкратце, в InputGroup отсутствуют 2 функции: GetValue() и Focus(), и я не могу понять, почему они отсутствуют. Любое предложение будет с благодарностью. Большое спасибо.

2 ответа

Я нашел способ получить вход! с:

inputRef={(input:HTMLInputElement) => {
    this.logininput=input;
}}

(не видел его в первый раз).

Теперь у меня есть входной объект, я могу установить фокус на "didmount", и я могу получить значение с logininput.value.

Спасибо

Немного другой вариант, но это тоже работает:

      inputRef:(input:HTMLInputElement | null) => {
    // your code here
    return input;
}
}}

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

В моем случае я просто хотел изменить ввод, который работает для текстового поиска при выборе.

Другие вопросы по тегам