Reactjs 将父onWheel向前滚动表格

Reactjs 将父onWheel向前滚动表格,reactjs,react-virtualized,Reactjs,React Virtualized,我有一个外部父容器,它包含一个元素。我希望能够在父元素的onWheel事件上滚动,即使鼠标当前未在上 我有一个对table元素的引用和一个监听onWheel事件的事件处理程序,但我还没有弄清楚如何将该事件转发到表中。我做了一个 这将侦听父级上的wheelEvent(红色背景的一个),禁用默认滚动行为(evt.preventDefault()),然后设置另一个的滚动顶部位置 以下是组件代码: class RedirectScroll extends React.Component { pa

我有一个外部父容器,它包含一个
元素。我希望能够在父
元素的
onWheel
事件上滚动
,即使鼠标当前未在

我有一个对table元素的引用和一个监听onWheel事件的事件处理程序,但我还没有弄清楚如何将该事件转发到表中。

我做了一个

这将侦听父级
上的
wheelEvent
(红色背景的一个),禁用默认滚动行为(
evt.preventDefault()
),然后设置另一个
滚动顶部位置

以下是组件代码:

class RedirectScroll extends React.Component {
    parentOnScroll = (evt) => {
        evt.preventDefault();
        const scrollTo= (evt.deltaY) + this.box.scrollTop;
        this.box.scrollTop = scrollTo;
    }
    render() {
        return (
            <div className="parent" onWheel={this.parentOnScroll}> // Listen scrolls on this div
               <div className="scrollablebox" ref={(box) => this.box = box}>
                   // Some content
               </div>
            </div>
        );
    }
}
类重定向扩展React.Component{
parentOnScroll=(evt)=>{
evt.preventDefault();
常量scrollTo=(evt.deltaY)+this.box.scrollTop;
this.box.scrollTop=滚动到;
}
render(){
返回(
//听这个div上的滚动条
this.box=box}>
//一些内容
);
}
}

我希望这就是您要查找的内容。

因为我猜您希望滚动表体,您可以尝试使用此功能

类表扩展了React.Component{
构造函数(){
超级();
this.callback=this.callback.bind(this);
this.body=null;
}
回拨(ev){
this.body.scrollTop+=ev.deltaY;
}
render(){
返回
this.body=c}>
{[1,2,3,4,5,6,].map(i=>
{i}
)}
;
}
}
ReactDOM.render(,document.getElementById('root'))
t车身{
显示:块;
高度:3雷姆;
溢出:滚动;
}
tr:n第n个子(2n+1){
背景色:#ddf;
}
tr:n个孩子(2n){
背景色:#eef;
}
桌子{
保证金:自动;
边界塌陷:塌陷;
}
运输署{
宽度:5雷姆;
文本对齐:居中;
字体系列:无衬线;
颜色:#00f;
}
div{
宽度:100%;
显示:块;
文本对齐:居中;
背景色:#99f;
}


您能告诉我们到目前为止您已经尝试了什么吗?也许可以使用.scrollTo功能触发表格上的滚动,但您必须执行一些操作calculations@monssef是的,那是我的一个想法。。。不过,如果可能的话,我想避免这种情况。部分原因是它看起来不必要的复杂,部分原因是我不知道计算结果会是什么样子。这有react虚拟化标记,我希望答案利用内置API,而不是下拉到DOM方法。这有react虚拟化标记,我希望答案利用内置API,而不是直接使用DOM方法。