Angular Material - 移動元素到新位置
P粉121081658
P粉121081658 2023-09-01 09:12:46
0
1
358

我需要有關 Angular 材質拖放的幫助

這個想法是我可以沿著 Y 軸移動螢幕上的黑色區塊,為此我使用 Angular Material 拖放,為此我有 3 個方法 onDragMoved、onDragStart、onDragEnd。當我釋放滑鼠時,我將在高度上添加100px,當我想第二次開始移動該塊時,它應該從上次停止的位置開始移動,但這種情況不會發生,某種原因發生抽搐

有問題的影片 - https://dropmefiles.com/0XFU6

onDragMoved(event: CdkDragMove) { console.log('движемся') console.log(event) console.log('neeeew coord', this.qwwqwqw) // if(this.qwwqwqw != null && event != null) { // event.distance.y = this.qwwqwqw // event.pointerPosition.y = this.qwwqwqw // this.qwwqwqw = null; // } } onDragStart(event: CdkDragMove) { console.log('Кнопка мыши зажата'); console.log(event.distance) } onDragEnd(event: CdkDragMove) { console.log('Кнопка мыши отпущена'); console.log(event) const y = event.distance.y 100; // получаем координату Y курсора мыши при отпускании элеоентале обн const element = event.source.element.nativeElement; element.style.transform = `translate3d(0, ${y}px, 0)`; // устанавливаем новую позицию элемента соооощзицию элемента element.style.height = this.originalHeight 'px'; // восстанавливаем исходную высоту блока event.distance.y = y; this.qwwqwqw = y; }
Координаты: {{ posX }}, {{ posY }}

[在此輸入影像說明](https://i.stack.imgur.com/RmWP2.png)

我嘗試調試,我將新坐標傳遞給 onDragMoved 方法,但在第二個事件中它們被更新為一些隨機坐標

P粉121081658
P粉121081658

全部回覆 (1)
P粉391955763

使用[cdkDragFreeDragPosition]屬性

HTML:

#
Координаты: {{ posX }}, {{ posY }}

TS:

#
dragPosition = { x: 0, y: 0 }; onDragEnd(event: CdkDragMove) { this.dragPosition = { x: event.distance.x, y: event.distance.y + 100 } }
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!