[英]Smooth move to x and y position with cdkDragFreeDragPosition in @angular/cdk/drag-drop
我正在使用 Angular 10 創建一個實時系統,其中用戶 1 在屏幕上拖動項目,項目的位置在用戶 2 屏幕上更新。 我為此使用@angular/cdk/drag-drop 。
我通過將cdkDragFreeDragPosition
綁定到對象的xPos
和yPos
屬性來更新用戶 2 屏幕上的位置,這些屬性在用戶 1 刪除對象時更新:
[cdkDragFreeDragPosition]="{x: wsc.xPos, y: wsc.yPos}"
這是可行的,但是用戶 2 的對象位置會跳躍而不是平滑地移動到新位置,這有點難看。
有沒有辦法讓用戶 2 屏幕上的對象從它的初始位置平滑移動到新位置?
根據docs ,這可以通過簡單地向.cdk-drag
類添加transition
來實現。
但是,這也會影響框的“手動”拖動 - 在用戶拖動框時會產生“延遲”。 所以你必須排除.cdk-drag-dragging
類,它被添加到當前被拖動的元素中:
.cdk-drag:not(.cdk-drag-dragging) {
transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
當然,在其他一些情況下,您可能希望根據您的用例包含/排除其他類,但這應該給您基本的想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.