Vueでリストソートとドラッグソートを実装するにはどうすればよいですか?

PHPz
リリース: 2023-06-25 09:59:01
オリジナル
7433 人が閲覧しました

フロントエンド開発テクノロジーの継続的な開発に伴い、インターフェイスにドラッグ アンド ドロップによる並べ替え機能を実装する必要がある Web サイトやアプリケーションがますます増えています。 Vue フレームワークでは、いくつかのライブラリやコンポーネントを使用して、リストの並べ替え機能やドラッグ 並べ替え機能を簡単に実装できます。

1. sortable.js を使用してリストの並べ替えを実装する

sortable.js は、リストのドラッグ アンド ドロップによる並べ替え機能をサポートできる独立したライブラリです。 Vue.js では、sortable.js を使用してリストの並べ替え機能を実装します。

まず、プロジェクトにsortable.jsをインストールする必要があります。npmコマンドを使用してインストールできます:

npm install sortablejs --save
ログイン後にコピー

次に、コンポーネントにsortable.jsを導入します:

import Sortable from 'sortablejs'
ログイン後にコピー

次にコンポーネント内で実装したフック関数内で、以下に示すようにsortable.jsを使ってリストを初期化します:

mounted() {
  let el = this.$refs.list
  this.sortable = Sortable.create(el, {
    onEnd: this.onEnd
  })
},
methods: {
  onEnd: function (evt) {
    // 拖动后的排序操作
  }
}
ログイン後にコピー

このうち、onEndはリスト項目がドラッグ&ドロップされたときのコールバック関数です。関数を使用すると、リストを並べ替えたり、並べ替えたリストのシーケンスをデータベースまたはサーバーに保存したりできます。

2. vue-draggable を使用してドラッグ ソートを実装する

vue-draggable は、Vue.js をベースにしたドラッグ可能なソート リスト コンポーネントで、ドラッグ アンド ドロップによるソート機能を簡単に実装できます。リスト 。 vue-draggable を使用して、テーブル行のドラッグ、タイルのサイズと位置の変更などの対話型リストを Vue.js アプリケーションに実装します。

vue-draggable をインストールするには、npm コマンドを使用できます:

npm install vuedraggable --save
ログイン後にコピー

次に、次のようにコンポーネント内で vue-draggable コンポーネントを使用します:

<template>
  <draggable v-model="list" :element="'ul'">
    <li v-for="item in list" :key="item.id">
      {{ item.id }}. {{ item.text }}
    </li>
  </draggable>
</template>

<script>
  import draggable from 'vuedraggable'

  export default {
    components: { draggable },
    data() {
      return {
        list: [
          { id: 1, text: 'Vue.js' },
          { id: 2, text: 'React.js' },
          { id: 3, text: 'Angular.js' },
          { id: 4, text: 'Ember.js' },
          { id: 5, text: 'Backbone.js' },
          { id: 6, text: 'Knockout.js' }
        ]
      }
    }
  }
</script>
ログイン後にコピー

上記のコードでは、リストは vue-draggable コンポーネントを使用してカプセル化され、v-model ディレクティブを使用してコンポーネントのリスト データをバインドするため、ドラッグによってリストの順序を変更できます。

3. Vue Sortable を使用してドラッグ ソートを実装する

Vue Sortable は Vue.js のコンポーネントであり、高度にカスタマイズ可能なリストのドラッグ アンド ドロップによるソート機能を簡単に実装できます。 Vue Sortable は構成を必要とせず、単純な Vue.js テンプレート構文を使用するだけで、ドラッグ アンド ドロップの並べ替えリストを実装できます。

Vue Sortable のインストールでは、npm コマンドを使用することもできます:

npm install vue-sortable --save
ログイン後にコピー

次に、次のようにコンポーネント内で Vue Sortable コンポーネントを使用します:

<template>
  <div>
    <ul v-sortable="{data: list, onUpdate: onUpdate}">
      <li v-for="item in list" :key="item.id">
        {{ item.id }}. {{ item.text }}
      </li>
    </ul>
  </div>
</template>

<script>
  import VueSortable from 'vue-sortable'

  export default {
    components: { VueSortable },
    data() {
      return {
        list: [
          { id: 1, text: 'Vue.js' },
          { id: 2, text: 'React.js' },
          { id: 3, text: 'Angular.js' },
          { id: 4, text: 'Ember.js' },
          { id: 5, text: 'Backbone.js' },
          { id: 6, text: 'Knockout.js' }
        ]
      }
    },
    methods: {
      onUpdate: function (event) {
        // 拖动后的排序操作
      }
    }
  }
</script>
ログイン後にコピー

上記のコードでは、 vue-sortable ディレクティブはリストを並べ替え可能に設定するために使用され、onUpdate コールバック関数はドラッグ アンド ドロップによる並べ替えが完了した後にリストを更新するために使用されます。

上記の 3 つの方法により、Vue でリストの並べ替え機能とドラッグ 並べ替え機能を簡単に実装できるため、アプリケーションがよりインタラクティブで使いやすくなります。

以上がVueでリストソートとドラッグソートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート