技術共有

Vue のドラッグ可能なコンポーネントは、要素をドラッグすると、データまたは要素の設定で定義されたデータを取得します。

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

たとえば、主に要素にカスタム属性を追加することによって、ドラッグ開始関数で現在ドラッグされている要素のデータを取得する必要があります。

循環リスト内の属性 ID を取得する必要がある場合は、属性 myid をカスタマイズする要素にバインドします。

もちろん、複数の値を渡したい場合は、文字列を使用してそれらをつなぎ合わせ、最終的に必要な値に従って処理することができます。

例::myid="item.id+','+item.schoolId" このように複数の値を 1 つの属性にバインドすると便利です。

以下のコードでは、必要な属性は 1 つだけなので、バインドするのは 1 つだけです。

  1. <VueDraggable
  2. v-model="List"
  3. @start="onDragStart(list,$event)"
  4. :animation="150"
  5. group="people"
  6. >
  7. <div
  8. v-for="(item, index) in List"
  9. @click.prevent="subClick(item, index)"
  10. @mousemove="handleMouseMove(item, index)"
  11. :key="item.id"
  12. :myid="item.id"
  13. >
  14. 一些要拖拽的模块内容
  15. </div>
  16. </VueDraggable>

合格e.item.attributes.myid.valueこのように取得してください。注: e はイベント オブジェクトです。

  1. const onDragStart = (list,e) => {
  2. delEleIndex.value=e.oldIndex;
  3. curList.value=list;
  4. draggedElement.value = e.item.attributes.myid.value;
  5. console.log("===当前拖元素的id==",draggedElement.value);
  6. };