Vue.Draggable delete
by kabanoki
HTML
<ul id="app">
<draggable>
<li v-for="item, index in myList" :key="item.no">
{{item.name}}-(No.{{item.no}})
<span class="del" v-on:click="doDelete(index)">[削除]</span>
</li>
</draggable>
</ul>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/Sortable.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/2.23.2/vuedraggable.umd.min.js"></script>
CSS
#app {
padding : 15px;
}
li {
cursor:pointer;
padding: 10px;
border: solid #ddd 1px;
}
.del {
color: #f00;
}
Vue
new Vue({
el: "#app",
data: {
items:[
{no:1, name:'キャベツ', categoryNo:'1'},
{no:2, name:'ステーキ', categoryNo:'2'},
{no:3, name:'リンゴ', categoryNo:'3'}
]
},
computed: {
myList: function(){
return this.items;
}
},
methods: {
doDelete: function(index){
this.items.splice(index, 1);
},
}
});