redux react scrollTo不是函数

f2uvfpb9  于 2022-11-12  发布在  React
关注(0)|答案(3)|浏览(217)

我是react的新手。这里我有一个表,它有一些td,现在单击按钮,我在该表中再添加一个td。现在,该表也是可滚动的,所以,我想要的是,当我们添加一个新行时,表滚动应该在顶部。这样,用户就可以很容易地知道该行已经添加。
我试过的是,
我有一个容器,

作业列表.js

constructre(props){
    super(props);
    this.myRef = React.createRef();
}

componentDidMount() {
    if (this.state.operationType) {
      this.props.changeOperationType(this.state.operationType);
    }
    if (!this.props.jobs) {
      this.props.fetchUserJd();
    }
    this.myRef.current.scrollTo(0, 0);
  }

render() {
   return(
      <UserJobsTabel
              jobList={filteredList}
              sortAscending={this.sortData}
              sortCountAndScoreAscending={this.sortNumbersAscending}
              addNewRow={this.addNewRow}
              isRowAddingEditorVisible={this.props.isRowAddingEditorVisible}
              removeRow={this.removeRow}
              refer={this.myRef}/>
   )
}

用户作业表.js

<div className="table-responsive">
    <table>
    <thead>
     <tr className="text-center">
            <th></th>
            <th scope="col">Technology<i className="fa fa-fw fa-sort sort-icon"></i></th>
            <th scope="col">Total Resumes<i className="fa fa-fw fa-sort sort-icon"></i></th>
            <th scope="col">Job Title<i className="fa fa-fw fa-sort sort-icon"></i></th>
            <th scope="col">Total Score<i className="fa fa-fw fa-sort sort-icon"></i></th>
            <th scope="col">Average Score<i className="fa fa-fw fa-sort sort-icon"></i></th>
            <th></th>
          </tr>
</thead>
 <tbody className="text-center" ref={props.refer}>
 </tbody>
//remaining
   </div>

所以,在这里我得到的错误,scrollTo不是一个函数.
那么,有什么办法可以做到这一点呢?或者我做错了什么。

zrfyljdw

zrfyljdw1#

因为this.myRef获取了UserJobsTabel的示例。您可以转发引用。
https://reactjs.org/docs/forwarding-refs.html

eeq64g8w

eeq64g8w2#

使用this.myRef.current?.getNode().scrollTo({ x: 0, y: 0})

cedebl8k

cedebl8k3#

请尝试将ref={props.refer}从tbody更改为table的div,如下所示:<div className="table-responsive" ref={props.refer}>
据我所知,react的scroll可以和div一起工作,或者它需要一些插件,比如jquery oe window
无论如何,你也可以尝试这个(在最后一种情况下,仅供参考,这不是一个好的选择):文档.正文.scrollTo()
进一步参考:JavaScript scrollTo方法什么也不做?

相关问题