Vue.Draggable tree test
by kabanoki
HTML
<ul id="app">
<draggable :group="{ name: 'people'}">
<li v-for="item, index in items" :key="item.no">
{{item.name}}-(No.{{item.no}})
<ul class="sub">
<draggable :group="{ name: 'people'}">
<transition-group>
<li :key="item.no+'-'+item.no">{{item.no+'-'+item.no}}</li>
</transition-group>
</draggable>
</ul>
</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;
}
ul {
padding: 30px;
border: solid #000 1px;
}
li {
cursor:pointer;
padding: 10px;
border: solid #ddd 1px;
margin-bottom: 100px;
position: relative;
z-index: 1;
}
ul.sub {
position: relative;
background-color: #f00;
top: 100px;
left: 35px;
z-index: 2;
}
ul.sub li{
z-index: 2;
}
Vue
new Vue({
el: "#app",
data: {
items:[
{no:1, name:'キャベツ', categoryNo:'1'},
{no:2, name:'ステーキ', categoryNo:'2'},
{no:3, name:'リンゴ', categoryNo:'3'}
]
}
});