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 相关文章推荐
javascript中的107个基础知识收集整理 推荐
Mar 29 Javascript
flexigrid 参数说明
Nov 23 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
完美解决JS文件页面加载时的阻塞问题
Dec 18 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
node错误处理与日志记录的实现
Dec 24 Javascript
微信小程序纯文本实现@功能
Apr 08 Javascript
利用promise及参数解构封装ajax请求的方法
Mar 24 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 minixml详解
2008/07/19 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
计划生育工作总结2015
2015/04/03 职场文书