我需要在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

10-04 15:28