reactjs – 在React.js中为scroll事件添加事件侦听器后没有得到
发布时间:2020-12-15 20:46:32 所属栏目:百科 来源:网络整理
导读:我按照这篇文章的指示 Update style of a component onScroll in React.js为滚动事件注册事件监听器. 我有一个React组件,它从React-Bootstrap库https://react-bootstrap.github.io/中呈现一个Table组件 我想我正确地注册了事件监听器,但我不确定为什么当我向
我按照这篇文章的指示
Update style of a component onScroll in React.js为滚动事件注册事件监听器. 我有一个React组件,它从React-Bootstrap库https://react-bootstrap.github.io/中呈现一个Table组件 我想我正确地注册了事件监听器,但我不确定为什么当我向下滚动表时,我的handleScroll()回调没有被调用.是因为事件监听器没有在实际表本身上注册吗? 感谢您花时间阅读我的问题.任何反馈都表示赞赏. 这是我如何注册事件监听器的片段. handleScroll: function(event) { console.log('handleScroll invoked'); },componentDidMount: function() { console.log('componentDidMount invoked'); window.addEventListener('scroll',this.handleScroll); },componentWillUnmount: function() { console.log('componentWillUnmount invoked'); window.removeEventListener('scroll', 这是我的渲染功能的片段. render: function() { var tableRows = this.renderTableRow(this.props.sheet); return ( <Table striped bordered condensed hover> <TableHeaderContainer tableTemplateName={this.props.tableTemplateName} sheetName={this.props.sheet.name}/> <tbody> {tableRows} </tbody> </Table> ); }
你的代码看起来不错,所以它可能不是滚动的窗口本身.表放在div中还是溢出的东西:auto或overflow:scroll?如果是这样,则必须将侦听器附加到滚动的实际元素,例如, document.querySelector('.table-wrapper') .addEventListener('scroll',this.handleScroll); 如果是这种情况,那么只需将React onScroll处理程序添加到代码中的包装器就更好了 <div onScroll={this.handleScroll}><Table.... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |