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 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
moment.js轻松实现获取当前日期是当年的第几周
Feb 05 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 Javascript
基于Vue2x的图片预览插件的示例代码
May 14 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
AngularJS修改model值时,显示内容不变的实例
Sep 13 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 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遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
python基于opencv实现人脸识别
2021/01/04 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
Python中如何定义一个函数
2016/09/06 面试题
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
爱护公物主题班会
2015/08/17 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server