Hello friends, welcome back to my blog. Today in this blog post, I am going to show you, Vue 3 – How to use jquery datatable in vuejs application?
Friends with this post, we will cover with below functionalities:
- How to fetch and show api json data in vuejs application?
- How to use jquery datatable in vuejs application?
- Veujs datatable with dynamic data.
Experts : Vue Data table with Export Buttons(Print, CSV etc.).
Vue 3 came and if you are new then you must check below two link:
Friends now I proceed onwards and here is the working code snippet for Vue 3 – How to use jquery datatable in vuejs application? and use this carefully to avoid the mistakes:
1. Firstly friends we need fresh vue 3 setup and for this we need to run below commands . Secondly we should also have latest node version installed on our system. With below we will have datatable, jquery, bootstrap and axios modules in our Vue 3 application:
npm install -g @vue/cli vue create vuedatatable cd vuedatatable npm install --save datatables.net-dt npm install jquery --save npm i axios npm i bootstrap npm run serve //http://localhost:8080/
2. Now friends we need to add below code into src/App.vue file to check the final output on browser:
<template> <h1>Therichpost.com</h1> <table class="table table-hover table-bordered" id="example"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Job Title</th> </tr> </thead> <tbody> <tr v-for="user in users" :key="user.id"> <td>{{user.id}}</td> <td>{{user.name}}</td> <td>{{user.email}}</td> <td>{{user.job_title}}</td> </tr> </tbody> </table> </template> <script> //Bootstrap and jQuery libraries import 'bootstrap/dist/css/bootstrap.min.css'; import 'jquery/dist/jquery.min.js'; //Datatable Modules import "datatables.net-dt/js/dataTables.dataTables" import "datatables.net-dt/css/jquery.dataTables.min.css" import $ from 'jquery'; import axios from 'axios'; export default { mounted(){ //API Call axios .get("https://www.testjsonapi.com/users/") .then((res)=> { this.users = res.data; $('#example').DataTable(); }) }, data: function() { return { users:[] } }, } </script>
Now we are done friends  also and If you have any kind of query or suggestion or any requirement then feel free to comment below.
Note: Friends, I just tell the basic setup and things, you can change the code according to your requirements. For better understanding must watch video above.
I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad.
Jassa
Thanks
29 comments
Please include file export buttons: csv, excel, pdf
Sure and very soon.
Check this:
https://therichpost.com/vue-3-datatable-with-export-buttons-print-csv-copy-with-dynamic-data/
Still waiting… 🙂
Sorry busy in projects and will do. 🙂
https://therichpost.com/vue-3-datatable-with-export-buttons-print-csv-copy-with-dynamic-data/
In my case “no data available in table”, how do i solve the problem?
Use like this:
setTimeout(function(){ $(‘#example’).DataTable(); }, 3000);
Thanks
This is awesome. May God bless you.
Great.
import axios from ‘axios’;
export default {
mounted() {
axios
.get(“API”)
.then((res)=>
{
this.users = res.data;
setTimeout(function(){
$(‘#example’).DataTable();
},
3000
);
})
},
data: function() {
return {
users:[]
}
},
}
is it right?
but still can’t show the data
Correct.
And please try this API first:
https://www.testjsonapi.com/users/
thank you, it’s work but if i change with different API it doesn’t work, still can’t show the data
Then you can increase the time session:
setTimeout(function(){ $(‘#example’).DataTable(); }, 5000);
Hello,
I am developing application for patient record system and need best pagination. I am using latest technologies – Laravel 8, Vue 3, and bootstrap. So, it is good to use jquery datable for pagination and search for the data and I also need to export the data in excel.
I hope you will provide me best answer and the examples for it.
thanks
Yes it is good and check this data table with export example:
https://therichpost.com/vue-3-datatable-with-export-buttons-print-csv-copy-with-dynamic-data/
in case of insertions, and real time update of the data, is it good idea to use it ?
Yes it is good because it has many options like pagination, searching and sorting and if you want like export buttons as well then please check below link:
https://therichpost.com/vue-3-datatable-with-export-buttons-print-csv-copy-with-dynamic-data/
Thanks.
Thanks for this.
You are welcome.
Hi Man, how can I add styles with bootstrap to the table? because a tried putting classes but it doesn’t work:( hope you can help me
Yes we can do and I will show you working example.
Man, thanks. I’ll really appreciate it.
Hello there.
I’ve tried your code to use DataTables with Vue 3, but I’m facing two problems:
– The data is not being rendered once loaded from the API. I’ve tried with the setTimeout fix, but it still doesn’t work.
– I’m using Vue Router, and when I navigate to another route/component, the DataTables wrapper with header and footer, remains, as if it was not unmounted, and the content of the other component is rendered inside it. Really weird! When I go back to the route/component using DataTables, it is rendered again, inside the unmounted wrapper. So, it’s nesting a new DataTables display inside the old wrapper, showing header and footer twice, 3 times, 4 and so on as I go back.
SURE AND I WILL GET BACK TO YOU 🙂
Hello, it didn’t work in my vue.js-3
I did exactly all. The format and structure is like datatable but none is functional. if we click any -> sort, search or row filters change, it goes blanks. And on footer, there is -> Showing 0 to 0 of 0 entries, prev and next is like dummy.
I hope you have solution in vue 3 to show datatable and proper functional.
Can you please tell me the error in your console?
DataTables.vue:47 Uncaught TypeError: $(…).DataTable is not a function
how to fix this error in vue 3
I will make updated code and show you working thanks.