【发布时间】:2021-11-26 02:20:26
【问题描述】:
我在选择下拉列表中有一个输入字段。当用户单击下拉菜单时,我需要立即关注该输入框。我尝试使用 refs,但这似乎不起作用。我正在使用 antd 3.26.14 和 React 16.8.6。代码如下:
<Select
labelInValue
open={isOpenSelectCategory}
onDropdownVisibleChange={onDropdownVisibleChange}
placeholder="Select Category"
onChange={() => {
searchDropdownOptions('formCategories', '');
setCategoryInputValue('');
}}
notFoundContent={null}
dropdownRender={menu => (
<>
<div
onMouseDown={lockSelectCategoryClose}
onMouseUp={lockSelectCategoryClose}
style={{ marginBottom: '10px' }}
>
<Input
value={categoryInputValue}
ref={inputRef}
onChange={event => {
searchDropdownOptions(
'formCategories',
event.target.value,
);
setCategoryInputValue(event.target.value);
}}
placeholder="Search category or create new one"
/>
...
Input ref 的 useEffect:
useEffect(() => {
if (inputRef.current) inputRef.current.focus();
}, [inputRef]);
我尝试了上述 useEffect 的变体,我没有在 inputRef 上监听更改,而是在加载下拉列表时监听了更改。但是他们都没有工作。
这里的任何帮助将不胜感激......
【问题讨论】:
-
作为新的贡献者,您可能会对someone-answers 感兴趣?
标签: javascript reactjs antd