由于bug in Firefox,要在聊天窗口中获得所需的行为(消息自下而上渲染),我不得不将聊天窗口缩放为-1。现在,这意味着向下滚动实际上会使该元素向上滚动,反之亦然。因此,我想在React中重写此事件并反转滚动方向。我已经阅读了SyntheticEvent并可以访问该事件的所有属性,并且可以使用e.preventDefault()阻止它工作,但是我不知道如何更改该事件以使deltaY反转。 / p>
这是我的代码:
@observer
class MessagePane extends React.Component<{store: Store, width: string}, any> {
private _on_wheel(e: React.WheelEvent) {
console.log(e.deltaY)
}
return (
<div style={style} onWheel={(e: React.WheelEvent) => { this._on_wheel(e) }}>
{this.props.store.chat_window.messages.slice().reverse().map(m => this._msg_bubble(m))}
</div>
)
}
WheelEvent被这段代码拾取,正如我说的,我可以检查它和所有东西,得到deltaY-但我不知道如何采用它并改变滚动方向。