我需要在React组件上的按钮中触发.focus()
。但是它来自3rd party库,我不能使用ref
。
到目前为止,我设法做到的唯一方法是使用setTimeout和querySelector as,因为componentDidMount
不能立即使用该元素。贝娄是我当前的代码:
componentDidMount() {
window.setTimeout(() => {
const confirmButton = document.querySelector('.confirmButton');
confirmButton && confirmButton.focus();
}, 1);
}
还有其他更丑陋的方式来实现这一目标吗?
最佳答案
我意识到我可以将本地 Prop 发送到Button组件😅
- componentDidMount() {
-
- window.setTimeout(() => {
- const confirmButton = document.querySelector('.confirmButton');
- confirmButton && confirmButton.focus();
- }, 1);
- }
-
...
<Button
+ autofocus