開発者ドキュメント

Vue.Draggableを使用したVue.jsのドラッグ可能なコンポーネント

ソート可能なリストは、Web開発のより苛立たしい部分の1つです。 Webは元々ドラッグアンドドロップを念頭に置いて作成されたものではなく、HTML5にネイティブのドラッグアンドドロップサポートが追加されたとしても、まだかなりの接続が必要です。 ただし、 Vue.Draggable を使用すると、これは簡単になります。 それはあなたのためにほとんどの決定を下し、あなたの利益のためにシンプルでクリーンなAPIを残します。

インストール

NPMまたはYarnからVue.Draggableをインストールします。

# Yarn
$ yarn add vuedraggable

# NPM
$ npm install vuedraggable --save

これで、どのコンポーネントでもdraggableコンポーネントをvuedraggableからインポートできます。

使用法

リストを並べ替え可能にするには、 draggable コンポーネントで任意の要素をラップするだけです(通常はv-forを使用しますが、個々の要素を実行することもできます)。

draggable は、 v-model バインディングを使用して、関連データを含むアレイを更新することもできます。

ExampleComponent.vue
<template>
  <div>
    <h2>Draggable Wrapper</h2>
    <draggable v-model="exampleList">
      <div v-for="text in exampleList" :key="text">{{text}}</div>
    </draggable>
  </div>
</template>

<script>
import draggable from 'vuedraggable';

export default {
  components: {
    draggable
  },

  data() {
    return {
      exampleList: [
        'Item 1',
        'Item 2',
        'Item 3',
        'Item 4',
        'Item 5'
      ]
    }
  }
}
</script>

Voilà! リストは並べ替え可能です! リストアイテムは好きなようにドラッグアンドドロップでき、変更は配列に反映されます。

小道具とイベント

小道具:

イベント: start add remove update end sort filter cloneを選択します。 リファレンス

Vuexでの使用

VuexでVue.Draggableを使用する場合は、配列の計算プロパティを使用して、ゲッターを介してストアから配列を取得し、設定時にミューテーションをコミットします。

computed: {
  exampleList: {
    get() {
      return this.$store.state.exampleList
    },

    set(val) {
      this.$store.commit('setExampleList', val)
    }
  }
}

追加

これですべてです。

今、私はいくつかの個人的なプロジェクトに自家製のドラッグアンドドロップ機能を追加しました。 これらの粗雑な実装をVue.Draggableに置き換えます。 アディオス!

モバイルバージョンを終了