VueJs
Add or Remove Table Row Dynamically Using VueJS
Here, we will learn about how we can dynamically add/remove rows of the table row using VueJs. We have performed the same functionality with Jquery also, you can check it from How To Add/Remove Table Row Dynamically Using Jquery.
<html lang="en"> <head> <title>Add Remove Table Row Dynamically In VueJs</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <h3 class="text-success" align="center">Add Remove Table Row Dynamically In VueJs</h3><br> <div class="container" id="app"> <div class="panel-group"> <div class="panel panel-primary"> <div class="panel-heading">Add Remove Table Row Dynamically In VueJs</div> <div class="panel-body"> <i class="fa fa-plus pull-right" @click="addRow" style="font-size:25px;color:#337ab7;cursor:pointer"></i> <table class="table table-bordered"> <thead class="text text-success"> <tr> <th>Name</th> <th>Email</th> <th>Mobile Number</th> <th>Action</th> </tr> </thead> <tbody> <tr v-for='(user, index) in users'> <td> <input v-model="user.name" class="form-control" type="text" /> </td> <td> <input v-model="user.email" class="form-control" type="text" /> </td> <td> <input v-model="user.mobno" class="form-control" type="text"/> </td> <td> <i @click="deleteRow(index)" class="fa fa-remove" style="font-size:25px;color:red;cursor:pointer"></i> </td> </tr> </tbody> </table> </div> </form> </div> </div> </div> <script > var app = new Vue({ el: '#app', data: { users:[{name:'',email:'',mobno:''}] }, methods: { addRow: function() { this.users.push({name:'',email:'',mobno:''}) }, deleteRow(index){ this.users.splice(index,1); } } }) </script> </body> </html>
Please give your valuable feedback/comments about this article below. Please let me know how you like and understand this article and how I could improve it.