LaravelLaravl 5.7VueJs

Vue Laravel Tutorial Part 7 – Datatables

Vue Laravel Tutorial Part 7 – Datatables - The Rich Post

Vue Laravel Tutorial Part 7 – Datatables
305Views

Hello to all, welcome to therichpost.com.  In this post, I will continue with Vue laravel Tutorial Part 7 – Vue Laravel Tutorial Part 7 – Datatables.

Datatables make records or data look good and easy to understandable. Here is the working picture:

Vue Laravel Tutorial Part 7 – Datatables

VueGoodTable

I have used ‘VueGoodTable’ package in my Vue Laravel application and it is very easy to use.

I am very happy to share this post. 

Here is the working and tested code for Vue Laravel Datatables:

First before start this tutorial, you need to check old Vue laravel Tutorial Series must.

One thing must say, 

To understand this post, you need to see past Vue Laravel

Tutorials Posts and here are the links:

https://therichpost.com/vue-laravel-tutorial-part-1

https://therichpost.com/vue-laravel-tutorial-part-2

https://therichpost.com/vue-laravel-tutorial-part-3

https://therichpost.com/vue-laravel-tutorial-part-4-form-validation

https://therichpost.com/vue-laravel-tutorial-part-5-vue-routing

https://therichpost.com/vue-laravel-tutorial-part-6-form-submission

 

 

1. Very first, for datatables, we need to run below command into our terminal:

with this command, datatable package will install into our application.

npm install --save vue-good-table

After it, run php artisan serve command.

 

2. After it, we need to update our resources\js \app.js file with below code:

you need to update your app.js to import datatables package.

 

/**
 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

import BootstrapVue from 'bootstrap-vue'

import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);

//VueGoodTable
import VueGoodTable from 'vue-good-table';
import 'vue-good-table/dist/vue-good-table.css';
Vue.use(VueGoodTable);

import examplecomponent from './components/ExampleComponent.vue';
import adduser from './components/adduser.vue';
import users from './components/users.vue';


// Route
const routes = [
  { name: 'adduser', path: '/AddUser', component: adduser },
  { name: 'examplecomponent', path: '/', component: examplecomponent },
  { name: 'users', path: '/users', component: users }
];

// Setup Vue Router
const router = new VueRouter({ 
  mode: 'history', 
  routes: routes,
  linkActiveClass: "", // active class for non-exact links.
  linkExactActiveClass: "active" // active class for *exact* links.
});
new Vue(Vue.util.extend({ router }, examplecomponent)).$mount('#app');

 

3. After it, we need to make new vue filename users.vue in resources\js\component folder:

In this file, we will add datatables code with dummy content.

<template>
  <div></br>
  <h2>Users:</h2></br>
    <vue-good-table
      title="Demo Table"
      :columns="columns"
      :rows="rows"
      :paginate="true"
      :lineNumbers="true"/>
  </div>
</template>

<script>
export default {
  name: 'test',
  data(){
    return {
      columns: [
        {
          label: 'Name',
          field: 'name',
          filterable: true,
        },
        {
          label: 'Age',
          field: 'age',
          type: 'number',
          html: false,
          filterable: true,
        },
        {
          label: 'Created On',
          field: 'createdAt',
          
        },
        {
          label: 'Percent',
          field: 'score',
          type: 'percentage',
          html: false,
        },
      ],
      rows: [
        {id:1, name:"Vue",age:20,createdAt: '2011-10-31',score: 0.03343},
        {id:2, name:"Laravel",age:24,createdAt: '2011-10-31',score: 0.03343},
      ],
    };
  },
};
</script>

 

4. After, it we need to update resources\js\components\ExampleComponent.vue:

in this file, we will add users page link in menu bar, just need to update only below code.

........
<nav class="navbar navbar-expand-sm bg-light">
         <!-- Links -->
         <ul class="navbar-nav">
        <li class="nav-item">
               <router-link tag="li" class="nav-item" to="/laraveVue">
                  <a class="nav-link">Home</a>
               </router-link>
            </li>
            <li class="nav-item">
               <router-link tag="li" class="nav-item" to="/AddUser">
                  <a class="nav-link">Add user</a>
               </router-link>
            </li>
      <li class="nav-item">
               <router-link tag="li" class="nav-item" to="/users">
                  <a class="nav-link">Users</a>
               </router-link>
            </li>
         </ul>
      </nav>
......

 Now, you are done with datatables and you just need run again php artisan serve command and other terminal,  you need to run npm run watch command(Two terminals for same application).

If you have any query related to this post, then please do comment or you can ask question.

Ajay Malhotra
the authorAjay Malhotra
Hello to all. Welcome to therichpost.com. Myself Ajay Malhotra and I am full stack developer. I love coding. I know Wordpress, Core php, Angularjs, Angular 2, Angular 6, Angular 7, laravel, Codeigniter, Shopify, Squarespace, Jquery, Google Map Api, Vuejs, Reactjs, Bigcommerce etc.

Leave a Reply

Positive SSL