ホームページ  >  に質問  >  本文

Angular マテリアル - 要素を新しい位置に移動します

<p>Angular マテリアルのドラッグ アンド ドロップについてサポートが必要です</p> <p>アイデアは、画面上の黒いブロックを Y 軸に沿って移動できるということです。このために、Angular マテリアルのドラッグ アンド ドロップを使用します。このために、onDragMoved、onDragStart、onDragEnd の 3 つのメソッドがあります。マウスを放すと高さに 100 ピクセルが追加され、ブロックを 2 回目に動かし始めたいときは、前回停止した場所から動き始めるはずですが、これは起こりません。何らかの理由でけいれんが発生します </ p> <p>問題のビデオ - https://dropmefiles.com/0XFU6</p> <pre class="brush:php;toolbar:false;">onDragMoved(event: CdkDragMove) { console.log('движемся') コンソール.ログ(イベント) console.log('neeeew coord', this.qwwqwqw) // if(this.qwwqwqw != null && イベント != null) { //event. distance.y = this.qwwqwqw //event.pointerPosition.y = this.qwwqwqw // this.qwwqwqw = null; // } } onDragStart(イベント: CdkDragMove) { console.log('Кнопка мыги зажата'); コンソール.ログ(イベント.距離) } onDragEnd(イベント: CdkDragMove) { console.log('Кнопка мыли отпущена'); コンソール.ログ(イベント) const y = イベント.距離.y 100; // 100 const 要素 =event.source.element.nativeElement; element.style.transform = `translate3d(0, ${y}px, 0)`; // CSS трансформации element.style.height = this.originalHeight 'px'; // 最高のパフォーマンスを実現します イベント.距離.y = y; this.qwwqwqw = y; }</pre> <pre class="brush:php;toolbar:false;"><div class="example-box" cdkDragLockAxis="y" cdkDrag (cdkDragMoved)="onDragMoved($event)" (cdkDragStarted) )="onDragStart($event)" (cdkDragEnded)="onDragEnd($event)"> 例: {{ posX }}、{{ posY }} </div></pre> <p>[ここに画像の説明を入力](https://i.stack.imgur.com/RmWP2.png)</p> <p>デバッグを試み、新しい座標を onDragMoved メソッドに渡しましたが、2 回目のイベントでランダムな座標に更新されました</p>
P粉121081658P粉121081658415日前474

全員に返信(1)返信します

  • P粉391955763

    P粉3919557632023-09-02 00:03:25

    [cdkDragFreeDragPosition]属性を使用します

    HTML:

    リーリー

    TS:

    リーリー

    返事
    0
  • キャンセル返事