JSFiddle - React, Tailwind, and code Playground

by ktrajasekar

HTML

<script src="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>
        <div id="app">
            <v-app>
                <v-content>
                    <v-container>
                        <h2>Data Table</h2>

                        <v-data-table v-model="selectedTasks" :headers="headers" :items="tasks" item-key="id"
                            show-select @toggle-select-all="selectAll">

                            <template v-slot:body="{ items }">
                                <tbody>
                                    <tr v-for="item in items" :key="item.id">
                                        <td>
                                            <v-checkbox v-model="selectedTasks" :value="item"
                                                style="margin:0px;padding:0px" hide-details />
                                        </td>
                                        <td>{{ item.text }}</td>
                                        <td>
                                            <v-btn text icon x-small>
                                                Edit
                                            </v-btn>
                                        </td>
                                    </tr>
                                </tbody>
                            </template>
                        </v-data-table>
                        <v-btn v-on:click="addTask()">Add Task</v-btn>
                    </v-container>
                </v-content>
            </v-app>
        </div>

JavaScript

new Vue({
        el: '#app',
        vuetify: new Vuetify(),

        data() {
            return {
                headers: [
                    {
                        text: 'Task',
                        value: 'text'
                    },
                    {
                        text: 'Actions'
                    }
                ],
                tasks: [
                    {
                        id: 1,
                        text: 'Collect packets'
                    },
                    {
                        id: 23,
                        text: 'Buy bread'
                    },
                    {
                        id: 3,
                        text: 'Collect packets'
                    },
                    {
                        id: 4,
                        text: 'Buy bread'
                    },
                    {
                        id: 5,
                        text: 'Collect packets'
                    },
                    {
                        id: 6,
                        text: 'Buy bread'
                    },
                    {
                        id: 7,
                        text: 'Collect packets'
                    },
                    {
                        id: 8,
                        text: 'Buy bread'
                    },
                    {
                        id: 9,
                        text: 'Collect packets'
                    },
                    {
                        id: 2,
                        text: 'Buy bread'
                    },
                    {
                        id: 10,
                        text: 'Collect packets'
                    },
                    {
                        id: 21,
                        text: 'Buy bread'
                    },
                    {
                        id: 31,
                        text: 'Collect packets'
                    },
                    {
                  ...