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'},
          ]
        }
      ]
  },
})