Vue.Draggable のリストからアイテムを削除する方法

2019年5月17日

はじめに

 

Vue.Draggableは、今非常に注目されているライブラリです。

今回は、Vue.Draggableのリストからアイテムを削除する方法を記事にします。

 

 

以前にVue.Draggable使い方の記事を書きました。

Vue.jsでドラッグ&ドロップするなら「Vue.Draggable」がおすすめ

 

前日にはリストを追加する方法の記事を書きました。

Vue.Draggable のリストにアイテムを追加する方法

 

環境

vue.js : 2.5.8
Vue.Draggable: 2.20.0

 

導入手順

[手順1] - computedとmethodsを準備する

Vue.Draggableのリストのアイテムを削除する方法は、通常のリストのアイテムを削除する方法と同じです。

new Vue({
  el: "#app",
  data: {
    items:[
      {no:1, name:'キャベツ', categoryNo:'1'},
      {no:2, name:'ステーキ', categoryNo:'2'},
      {no:3, name:'リンゴ', categoryNo:'3'}
    ]
  },
  computed: {
    myList: {
      get() {
        return this.items;
      },
      set(value) {
        this.items = value;
      }
    }
  },
  methods: {
    doDelete: function(item, index){
      this.items.splice(index, 1);
    },
  }
});

[手順2] - テンプレートを設置

リストの呼び出しをcomputedにしています。
リストにkeyを設定するのは特に重要なポイントです。
keyが設定されていないと並び順がぐちゃぐちゃになってしまいます。

<ul id="app">
 <draggable v-model="myList">
   <li v-for="item, index in myList" :key="item.no">
   {{item.name}}-(No.{{item.no}})
   <span class="del" v-on:click="doDelete(item, index, '')">[削除]</span>
   </li>
 </draggable>
</ul>

 

デモ

>>専用ページで確認する

 

まとめ

リストからアイテムを削除するのは意外と簡単でした。

おそらく悩む人も少ない?と思います。

 

前回のリストにアイテムを追加する記事同様にcomputedを利用すれば非常に簡単にリストを更新することができます。

リストにkeyを設定するのは忘れないでください。
削除する時には特に重要です。

 

今日はこの辺でー

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-vue.js
-, , ,