首页 文章

如何关注导入的React组件中的元素?

提问于
浏览
1

我正在导入React-Search-Input,并希望以编程方式关注组件中包含的文本输入,但它不包含refs,也没有方法可以专注于输入 .

因此,在元素上运行.focus()并不关注我需要的东西,即组件中的文本输入 . 而是专注于容器元素 .

除了分支项目之外,我有什么选择吗?谢谢!

1 回答

  • 2

    您可以使用 ReactDOM.findDOMNode 检索元素,然后在第一个子项上调用 focus . 像这样的东西:

    componentDidMount() {
        ReactDOM.findDOMNode(this.searchInput).firstChild.focus();
    }
    

    然后渲染......

    <SearchInput
        className="search-input"
        onChange={this.searchUpdated}
        ref={(ref) => this.searchInput = ref}
    />
    

相关问题