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 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
如何用JavaScript动态呼叫函数(两种方式)
May 03 Javascript
js调用AJAX时Get和post的乱码解决方法
Jun 04 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
js数组常用最重要的方法
Feb 04 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
通过说明与示例了解js五种设计模式
Jun 17 Javascript
Vue管理系统前端之组件拆分封装详解
Aug 23 Javascript
JavaScript实现登录窗体
Jun 22 Javascript
vue中data里面的数据相互使用方式
Jun 05 Vue.js
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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
用pycharm开发django项目示例代码
2019/06/13 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python笔试面试题小结
2019/09/07 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
用Python解数独的方法示例
2019/10/24 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
机关财务管理制度
2014/01/17 职场文书
电子商务专业自荐信
2014/06/02 职场文书
体育比赛口号
2014/06/09 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
2014年图书室工作总结
2014/12/09 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
2015年化验室工作总结
2015/04/23 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
分享python函数常见关键字
2022/04/26 Python