【发布时间】:2021-04-24 19:12:00
【问题描述】:
我有一个禁用 true 的输入元素。现在,一旦我单击一个按钮,我想将 disabled 设置为 false 并专注于输入元素。
我已经尝试过 react docs 中描述的 useRef 选项,如果我删除了 disabled 属性但它们都不能一起工作,它可以工作。
const [edit, setEdit] = useState(false);
const searchInput = useRef(null);
return (
<>
<input
ref={searchInput}
type="text"
name="wnique_name"
id="unique_id"
disabled={!edit}
/>
<button
onClick={() => {
setEdit(true);
searchInput.current.focus();
}}
>
Edit
</button>
</>
);
【问题讨论】:
-
disabled元素不可聚焦 - 请参阅 here。您可能需要readOnly属性而不是disabled,如果它不应该是可编辑但仍可聚焦的话。
标签: javascript reactjs