【发布时间】:2021-05-26 13:34:30
【问题描述】:
我想在反应组件中“同步”2 个“div”的 x 位置。最终,我希望有一个始终可见的表格标题和一个可以垂直滚动的表格。该表头和该表的水平偏移量应该保持“同步”。
“onScroll”事件触发。但是,在我的函数reactToScrolling 中更改属性“offsetX”的“状态”对我的“div”没有影响(据我所知)。我可以做些什么来完成这项工作?
const { useState } = require('react');
const MainComponent = () => {
const [ offsetX, setOffsetX ] = useState(0);
function reactToScrolling(e) {
console.log(e.target.scrollLeft);
setOffsetX(e.target.scrollLeft);
}
return (
<>
<div style={{ height:'200pt', width:'800pt', overflow:'scroll'}} onScroll={reactToScrolling}>
<div style={{ height:'600pt', width:'1600pt', backgroundColor:'red' }} scrollLeft={offsetX}>
...
</div>
</div>
<div style={{ height:'200pt', width:'800pt', overflow:'scroll'}} onScroll={reactToScrolling}>
<div style={{ height:'600pt', width:'1600pt', backgroundColor:'blue' }} scrollLeft={offsetX}>
...
</div>
</div>
</>
)
};
export default MainComponent;
【问题讨论】:
标签: javascript reactjs