Angular Material - 移動元素到新位置
P粉121081658
P粉121081658 2023-09-01 09:12:46
0
1
301
<p>我需要有關 Angular 材質拖放的幫助</p> <p>這個想法是我可以沿著 Y 軸移動螢幕上的黑色區塊,為此我使用 Angular Material 拖放,為此我有 3 個方法 onDragMoved、onDragStart、onDragEnd。當我釋放滑鼠時,我將在高度上添加100px,當我想第二次開始移動該塊時,它應該從上次停止的位置開始移動,但這種情況不會發生,某種原因發生抽搐</p> <p>有問題的影片 - https://dropmefiles.com/0XFU6</p> <pre class="brush:php;toolbar:false;">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; }</pre> <pre class="brush:php;toolbar:false;"><div class="example-box" cdkDragLockAxis="y" cdkDrag (cdkDMoved)=&ragquot;onDunquot; )="onDragStart($event)" (cdkDragEnded)="onDragEnd($event)"> Координаты: {{ posX }}, {{ posY }} </div></pre> <p>[在此輸入影像說明](https://i.stack.imgur.com/RmWP2.png)</p> <p>我嘗試調試,我將新坐標傳遞給 onDragMoved 方法,但在第二個事件中它們被更新為一些隨機坐標</p>
P粉121081658
P粉121081658

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!