Laravel 8.x Vue Component with Datatable Example

Hello Artisan

In this tutorial i will discuss about Laravel datatable with vue js. In this Laravel datatable tutorial i will show you step by step that how we can show our data inside datatable. To show data in datatable in vue js, i will use vue npm package.

If you need to show vuejs datatable then this vuejs datatable example tutorial is for you. In this Laravel 8 Vue js datatables tutorial example you will learn how to show datatable using npm package in laravel and vue js.

DataTables has a wealth of options which can be used to configure how it will obtain the data to display in the table, and how it processes that data. Let's see how we can create laravel vue datatable example tutorial.


Step 1 : Install Laravel

In this step, we need to install laravel latest laravel app, So open your terminal and execute the following command:

composer create-project --prefer-dist laravel/laravel blog 


Step 2 : Create Model

In this second step we need model to save some data and then we will show those data in our laravel vue datatable. So create model by the following command.

php artisan make:model Post -m


Now paste this in your post table

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePostsTable extends Migration
     * Run the migrations.
     * @return void
    public function up()
       Schema::create('posts', function (Blueprint $table) {
     * Reverse the migrations.
     * @return void
    public function down()


Step 3 : Install Vue 

You need to setup Vue and install Vue dependencies using NPM to create our laravel vue js datatable. So execute the following command on command prompt to create datatable:

php artisan preset vue


npm install


then install npm package for vue datatable

npm install vuejs-datatable


Step 4 : Create Route

Next, you have to go routes folder and open web.php file and add the following routes into your file:


use App\Http\Controllers\PostController;
Route::get('posts', [PostController::class, 'index']);


Step 5 : Create Controller

After that, go to app\Http\Controllers and open PostController.php file. Then update the following code into your PostController.php file:


namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
    public function index(Request $request)
        $posts = Post::get();
        return response()->json($posts);


Step 6 : Create Datatable Component

Next step, go to resources/assets/js/components folder and create a file called DataTableComponent.vue.



Now open resources/assets/js/app.js and include


window.Vue = require('vue');
Vue.component('datatable-component', require('./components/DataTableComponent.vue').default);
const app = new Vue({
    el: '#app',


Step 7 : Create Blade File

All are set to go. Now we have to create blade file to show our component data. so create it like below



Next, go to resources/views/ and open welocome.blade.php. Then update the following line into your welcome.blade.php file as follow:



Now run npm run watch and visit the followig path to see laravel vue js datatable.




Recommended  : How to Create EventBus to Communicate Between Vue Components


Hope this laravel vue datatable example tutorial will help you.


Facebook Github
A web enthusiastic, a self-motivated full-stack software engineer from Dhaka, Bangladesh with experience in developing applications using Laravel , React and Vue js