使用@angular/cdk/拖放中的cdkDragFreeDragPosition平滑移动到x和y位置
我正在用Angular 10创建一个实时系统,用户1在屏幕上拖动项目,项目的位置在用户2屏幕上更新。我用这个 我通过将使用@angular/cdk/拖放中的cdkDragFreeDragPosition平滑移动到x和y位置,angular,angular-material,angular-cdk-drag-drop,Angular,Angular Material,Angular Cdk Drag Drop,我正在用Angular 10创建一个实时系统,用户1在屏幕上拖动项目,项目的位置在用户2屏幕上更新。我用这个 我通过将cdkDragFreeDragPosition绑定到对象的xPos和yPos属性来更新用户2屏幕上的位置,这些属性在用户1删除对象时更新: [cdkDragFreeDragPosition]=“{x:wsc.xPos,y:wsc.yPos}” 这是可行的,但是用户2的对象位置会跳跃,而不是平滑地移动到新位置,这有点难看 有没有办法让用户2屏幕上的对象从初始位置平稳地移动到新位置,
cdkDragFreeDragPosition
绑定到对象的xPos
和yPos
属性来更新用户2屏幕上的位置,这些属性在用户1删除对象时更新:
[cdkDragFreeDragPosition]=“{x:wsc.xPos,y:wsc.yPos}”
这是可行的,但是用户2的对象位置会跳跃,而不是平滑地移动到新位置,这有点难看
有没有办法让用户2屏幕上的对象从初始位置平稳地移动到新位置,请?根据,只需将过渡
添加到.cdk拖动
类即可
然而,这也会影响“手动”拖动长方体-在用户拖动长方体时产生某种“延迟”。因此,您必须排除添加到当前正在拖动的元素中的.cdk drag dragging
类:
.cdk-drag:not(.cdk-drag-dragging) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
当然,在其他一些情况下,您可能希望根据您的用例包括/排除其他类,但这应该给您提供基本的想法