Vue.js实现表格动态增加删除的方法(附源码下载)


Posted in Javascript onJanuary 20, 2017

Vue.js

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。

先来看看实现的效果:

Vue.js实现表格动态增加删除的方法(附源码下载)

Vue.js实现表格动态增加删除的方法(附源码下载)

下面的例子会用到bootstrap.min.css以及vue.js,都可以从网上下载(文末有完整源码下载提供)。

实例 源码

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Vue.js小demo</title> 
 <link rel="stylesheet" href="css/bootstrap.min.css"> 
</head> 
<body> 
<!-- 这是我们的view --> 
<div class="col-md-6"> 
 <div class="panel panel-default" id="app" > 
  <div class="panel-body form-horizontal"> 
   <div class="form-group"> 
    <label class="col-md-2 control-label">Name:</label> 
    <div class="col-md-10"> 
     <input type="text" class="form-control" v-model="newPerson.name"/> 
    </div> 
   </div> 
   <div class="form-group"> 
    <label class="col-md-2 control-label">Age:</label> 
    <div class="col-md-10"> 
     <input type="text" class="form-control" v-model="newPerson.age"> 
    </div> 
   </div> 
   <div class="form-group"> 
    <label class="col-md-2 control-label">Sex:</label> 
    <div class="col-md-10"> 
     <select class="form-control" v-model="newPerson.sex"> 
      <option value="Male">Male</option> 
      <option value="Female">Female</option> 
     </select> 
    </div> 
   </div> 
   <div class="form-group"> 
    <label for=""></label> 
    <button class="col-md-offset-2" @click="createPerson">Create</button> 
   </div> 
  </div>  
  <div class="panel-body"> 
 
   <table class="table text-center"> 
    <thead> 
     <tr > 
      <th class="text-center">Name</th> 
      <th class="text-center">Age</th> 
      <th class="text-center">Sex</th> 
      <th class="text-center">Delete</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr v-for="person in people"> 
      <td>{{ person.name }}</td> 
      <td>{{ person.age }}</td> 
      <td>{{ person.sex }}</td> 
      <td><button @click="deletePerson($index)">Delete</button></td> 
     </tr> 
    </tbody> 
   </table> 
  </div> 
 </div> 
</div> 
</body> 
<script src="js/vue.js"></script> 
<script> 
//创建一个Vue实例或"ViewModel",它连接view与model 
 var vm = new Vue({ 
   el: '#app', 
   data: { 
    newPerson: { 
     name: '', 
     age: 0, 
     sex: 'Male' 
    }, 
    people: [{ 
     name: 'Jack', 
     age: 30, 
     sex: 'Male' 
    }, { 
     name: 'Bill', 
     age: 26, 
     sex: 'Male' 
    }, { 
     name: 'Tracy', 
     age: 22, 
     sex: 'Female' 
    }, { 
     name: 'Chris', 
     age: 36, 
     sex: 'Male' 
    }] 
   }, 
   methods:{ 
    createPerson: function(){ 
     this.people.push(this.newPerson); 
     // 添加完newPerson对象后,重置newPerson对象 
     this.newPerson = {name: '', age: 0, sex: 'Male'} 
    }, 
    deletePerson: function(index){ 
     // 删一个数组元素 
     this.people.splice(index,1); 
    } 
   } 
  }) 
</script> 
</html>

下载地址请点击 这里

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
锋利的jQuery jQuery中的DOM操作
Mar 21 Javascript
javascript中删除指定数组中指定的元素的代码
Feb 12 Javascript
jquery 实现上下滚动效果示例代码
Aug 09 Javascript
jquery模拟多级复选框效果的简单实例
Jun 08 Javascript
jQuery验证表单格式的使用方法
Jan 10 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
如何使用VuePress搭建一个类型element ui文档
Feb 14 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
Feb 11 Javascript
js实现简单放大镜效果
Mar 07 Javascript
vue项目实现多语言切换的思路
Sep 17 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
Jan 20 #Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 #Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 #Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 #Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 #Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 #Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 #Javascript
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
用pycharm开发django项目示例代码
2019/06/13 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Django models文件模型变更错误解决
2020/05/11 Python
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
2014应届本科生自我评价
2014/09/13 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang
css3 选择器
2022/05/11 HTML / CSS