Не удается установить фокус на компонент Dropdown в Primereact
Я пытаюсь сфокусироваться на компоненте "Dropdown" основной реакции, но фокус не на компоненте "Dropdown".
Я использовал свойство autoFocus, как указано в https://www.primefaces.org/primereact/. Затем я попытался использовать ответную ссылку для установки фокуса.
2 ответа
Сосредоточьтесь на PrimeReact Dropdown
можно задать программно с помощью метода DOM querySelector(). Например:
Добавить
id
на вашDropdown
<Dropdown id="dropdown" ... /> <Button onClick={onButtonClick} label="Set the focus" />
В
onButtonClick
использование функцииquerySelector
способ найти и сосредоточиться наinput
элементDropdown
const onButtonClick = () => { document.querySelector('#dropdown input').focus(); };
Вы можете сосредоточиться на PrimeReactDropdown
используя функцию focusInputRef . Вот пример:
Создайте ссылку:
const dropdownRef = useRef<HTMLInputElement>(null);
В функции onButtonClick используйте ссылку для установки фокуса:
const onButtonClick = () => { if (dropdownRef) dropdownRef.current?.focus(); };
Добавьте параметр focusInputRef в раскрывающийся список:
<Dropdown focusInputRef={dropdownRef} ... />