Vue.Draggable multiple
by kabanoki
HTML
<script src="//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>
<div id="app">
<div id="box1" class="box">
<h3>■box1</h3>
<draggable tag="ul" :options="{group:'ITEMS'}">
<li v-for="item, index in items" :key="item.no">{{item.name}}-(No.{{item.no}})</li>
</draggable>
</div>
<div id="box2" class="box">
<h3>■box2</h3>
<draggable tag="ul" :options="{group:'ITEMS'}">
<li v-for="item, index in items2" :key="item.no">{{item.name}}-(No.{{item.no}})</li>
</draggable>
</div>
</div>
<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;
}
.box {
width: 50%;
float: left;
padding: 20px 0;
}
#box1 {
background-color: #fdd;
}
#box2 {
background-color: #ddf;
}
li {
cursor:pointer;
padding: 10px;
border: solid #ddd 1px;
background-color: #fff;
}
Vue
new Vue({
el: "#app",
data: {
items:[
{no:1, name:'キャベツ', categoryNo:'1'},
{no:2, name:'ステーキ', categoryNo:'2'}
],
items2:[
{no:5, name:'きゅうり', categoryNo:'1'},
{no:6, name:'ハンバーグ', categoryNo:'2'}
]
}
});