Vue
by Clément Rigo
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/1.8.10/tailwind.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/2.24.0/vuedraggable.umd.js"></script>
<div id="app">
<div class="p-4 bg-gray-200 mb-5" options='{"sort":false}' v-for="item in lists">
<div class="p-2 bg-red-200 mb-3">
{{ item.name }}
</div>
<div class="border p-2">
<div v-for="child in item.children" class="p-2 bg-green-200 mb-2">
{{ child.name }}
</div>
</div>
</div>
</div>
Vue
new Vue({
el: "#app",
data: {
lists: [
{
name: "Title 1",
children: [
{name: 'Children 1'},
{name: 'Children 2'},
]
},
{
name: "Title 2",
children: [
{name: 'Children 3'},
{name: 'Children 4'},
]
}
]
},
})