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的可用于选项卡及幻灯的切换插件
Mar 28 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
JavaScript获取文本框内选中文本的方法
Feb 20 Javascript
Javascript连接Access数据库完整实例
Aug 03 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
Jun 07 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
Jun 14 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
Jan 04 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 Javascript
layui框架table 数据表格的方法级渲染详解
Aug 19 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
python实现超市扫码仪计费
2018/05/30 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python 简单的调用有道翻译
2020/11/25 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
八年级英语教学反思
2014/01/09 职场文书
创建文明学校实施方案
2014/03/11 职场文书
希特勒的演讲稿
2014/05/23 职场文书
企业法人代表证明书
2014/09/27 职场文书
采购内勤岗位职责
2015/04/13 职场文书
个人廉政承诺书
2015/04/28 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js