gpt4 book ai didi

jquery - 使用自动滚动响应 dnd

转载 作者:行者123 更新时间:2023-12-01 07:45:17 25 4
gpt4 key购买 nike

我正在开发一个 React dnd 项目,我遵循 react-dnd documentation 。一切正常,但我无法在拖动时滚动。

当我拖动一个项目并到达最后一个可放置源时,我需要一个滚动条,然后它会自动滚动并允许我将项目放在那里。

如果有人知道如何执行此操作,请与我分享。我将非常感激。

最佳答案

React Dnd 提供 DragLayer对您有帮助的组件。

您可以在可伸缩组件中添加 DragLayer 并调用回调从满足滚动条件时开始。

您还可以添加一些 div,您可以在自定义 DragLayer 中监听 onMouseOver 事件,并抛出回调来设置父/可滚动组件的滚动。

@dragLayer( monitor => ({
isDragging : monitor.isDragging(),
}) )
class DragLayer extends Component {
render() {
if(!this.props.isDragging) {
return null;
}
return <div onMouseOver={this.props.onScrollOver}></div>
}

}

class ScrollableContainer extends Component {
....


_doScroll(event) {
const scrollTaget = this._scrollTarget;
scrollTarget.scrollTop++; //Or You can add animations here
}

render() {

...return <div style={{overflow:'auto'}}>
<DragLayer onScrollOver={this._doScroll}/>
</div>;
}
}

关于jquery - 使用自动滚动响应 dnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com