我有一个 Ionic 应用程序,它是按 Angular 构建的,因此可以在其中拖放 Angular cdk 以重新排列列表。拖放效果很好,但是,在移动设备上,我根本无法滚动。我相信拖放手势正在吞噬我的滚动手势。
我试图将 cdkDragStartDelay 设置为 5000(毫秒):
<cu-task-row
cdkDrag
[cdkDragData]="task"
[cdkDragStartDelay]="5000"
它确实延迟了拖动,但我仍然无法滚动。
是否可以使用 Angular cdk 在移动设备中实现滚动和拖放?
最佳答案
唯一的解决方案(如果您继续使用 cdk)是迁移到最新的 Angular Material (^8.1.0)。
Cdk DragDrop (Material) 7 和早期版本 8 会在您拖动时阻止滚动 (https://github.com/angular/components/issues/14273#issuecomment-442201350)。然而,它已通过 ^8.1.0 ( https://github.com/angular/components/issues/13588 ) 中的自动滚动功能解决。
因此,如果您向上迁移,您可以尝试新的自动滚动功能,该功能适用于简单的容器(如 div)关闭得很好,此外还启用了鼠标滚轮滚动,但我无法使其与 Material 表一起使用现在(没有那么多调查)。
如果您创建一个在线示例,我可以尝试为您提供更多帮助。
关于android - 拖放干扰 Angular 7 CDK 中的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55245165/