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.ajax)
Nov 19 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
Sep 20 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
简单谈谈node.js 版本控制 nvm和 n
Oct 15 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
May 24 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
详解Vue 多级组件透传新方法provide/inject
May 09 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 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
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
php set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
php array的学习笔记
2012/05/16 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
python如何实现递归转非递归
2021/02/25 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
大三自我鉴定范文
2013/10/05 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
三方协议书范本
2014/04/22 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
违纪开除通知书
2015/04/25 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS