Vue Element-ui Table实现动态新增和删除
达到效果:1.点击添加动态添加一行表格数据 2.点击移除删除一行

templete部分代码

<el-tab-pane label="股东情况">
<el-row>
<el-col :span="24">
<el-table border="" :data="value.listItem" show-summary="" :summary-method="getSummaries">
<el-table-column align="left" width="100">
<template slot="header" slot-scope="scope">
<el-button width="100%" @click="clickAddProblems(scope.row)" icon="iconfont icon-add" type="text" size="small">添加</el-button>
</template>
<template slot-scope="scope">
<el-button width="100%" @click="clickRemoveProblems(scope.row)" icon="iconfont icon-guanbi" type="text" size="small">移除</el-button>
</template>
</el-table-column>
<el-table-column type="index" align="center" label="序号" width="70"></el-table-column>
<el-table-column align="center" label="股东名称" prop="shareholderName">
<template slot-scope="scope">
<el-form-item :prop="'listItem.'+ scope.$index + '.shareholderName'" :rules="rules.shareholderName" label-width="0px">
<el-input v-model.trim="scope.row.shareholderName" placeholder="请填写股东名称"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="认缴注册资本(万元)" prop="registeredCapital">
<template slot-scope="scope">
<el-form-item :prop="'listItem.'+ scope.$index + '.registeredCapital'" :rules="rules.registeredCapital" label-width="0px">
<el-input v-model.trim="scope.row.registeredCapital" placeholder="请填写认缴注册资本(万元)"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="实缴注册资本(万元)" prop="paidinRegisteredCapital">
<template slot-scope="scope">
<el-form-item :prop="'listItem.'+ scope.$index + '.paidinRegisteredCapital'" :rules="rules.paidinRegisteredCapital" label-width="0px">
<el-input v-model.trim="scope.row.paidinRegisteredCapital" placeholder="请填写实缴注册资本(万元)"></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="持股比例(%)" prop="shareholdingRatio">
<template slot-scope="scope">
<el-form-item :prop="'listItem.'+ scope.$index + '.shareholdingRatio'" :rules="rules.shareholdingRatio" label-width="0px">
<el-input v-model.trim="scope.row.shareholdingRatio" placeholder="请填写持股比例" max="100"></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-tab-pane>
查看代码
script部分代码

clickAddProblems(rows){
$this.value.listItem.push({
key:guid.newGuid(),
shareholderName:'',
registeredCapital:null,
paidinRegisteredCapital:null,
shareholdingRatio:null
})
},
clickRemoveProblems(row){
console.log("row:", row);
$this.value.listItem= $this.value.listItem.filter(x => {
return x.key != row.key;
});
},
查看代码
表格添加合计行
1. el-table 中添加 show-summary 属性 :summary-method 绑定合计的方法
<el-table border="" :data="value.listItem" show-summary="" :summary-method="getSummaries">
2. 绑定的合计方法

getSummaries(param){
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
return;
}
if (index === 0||index === 1||index === 2) {
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
console.log(column.property);
console.log(data);
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
console.log(curr);
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
if(index==5){
sums[index] += ' %';
}
else{
sums[index] += ' 万元';
}
} else {
sums[index] = 'N/A';
}
});
return sums;
}
查看代码
Vue Element-ui Table实现动态新增和删除的更多相关文章
- Vue+element ui table 导出到excel
需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...
- vue + element ui 实现实现动态渲染表格
前言:之前需要做一个页面,能够通过表名动态渲染出不同的表格,这里记录一下.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9786326.html 网站地址:我的 ...
- vue+element ui 的tab 动态增减,切换时提示用户是否切换
前言:工作中用到 vue+element ui 的前端框架,动态添加 Tab,删除 Tab,切换 Tab 时提示用户是否切换等,发现 element ui 有一个 bug,这里记录一下如何实现.转载 ...
- element ui table表头动态筛选条件
本文主要实现:根据el-table表格数据自动生成表头筛选条件的方法,可根据表格数据动态调整. el-table表格的表头增加筛选功能,大家平时都是怎么实现的呢?先看看官方文档的例子: 1 <t ...
- vue+element ui table组件封装,使用render渲染
后台管理经常会用到表格,一开始封装了一个常用的功能性表格,点击这里: 后来由于需求增加,在表格中还会用到switch,select,input等多种组件,每次都要在html中增加<el-tabl ...
- vue element ui table 自动无限滚动组件
<template> <el-table class="tableList" ref="rw_table" hei ...
- vue + element ui table表格二次封装 常用功能
因为在做后台管理项目的时候用到了大量的表格, 且功能大多相同,因此封装了一些常用的功能, 方便多次复用. 组件封装代码: <template> <el-table :data=&qu ...
- VUE -- 对 Element UI table中数据进行二次处理
时间——日期 后台经常给我们返回的是 时间戳 (例如:1535620671) 这时候我们页面展现的时候需要将时间戳转换为我们要的格式 例如 (YYYY-MM-DD HH:mm:ss) 如果是在Elem ...
- Element UI table组件源码分析
本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...
- 基于vue(element ui) + ssm + shiro 的权限框架
zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...
随机推荐
- Oracle 三种分页方法
Oracle的三层分页指的是在进行分页查询时,使用三种不同的方式来实现分页效果,分别是使用ROWNUM.使用OFFSET和FETCH.使用ROW_NUMBER() OVER() 1.使用ROWNUM ...
- 记一次RocketMQ消费非顺序消息引起的线上事故
应用场景 C端用户提交工单.工单创建完成之后.会发布一条工单创建完成的消息事件(异步消息).MQ消费者收到消息之后.会通知各处理器处理该消息.各处理器处理完后都会发布一条将该工单写入搜索引擎的消息.最 ...
- HiAI Foundation开发平台,加速端侧AI应用的智能革命
如果您是一名开发者,正在寻找一种高效.灵活且易于使用的端侧AI开发框架,那么HarmonyOS SDKHiAI Foundation服务(HiAI Foundation Kit)就是您的理想选择. 作 ...
- Vue2 整理(二):核心篇(组件化开发)
前言 上一篇连接:vue2 整理:基础篇. 组件化开发 组件概念 组件,对于学Java的人来说的话,这个词所要表达的意思再熟悉不过了. 所谓组件就是:面向对象中的抽象.封装思想:而所谓的组件化就是:把 ...
- Mysql通过frm和ibd恢复数据库
昨天的考试过程中,有个考点的服务器蓝屏重启后发现Mysql启动不了(5.6.45 x32版本,使用innoDB),重装后无法加载原数据库记录,通过查询资料,通过frm和idb文件成功恢复了数据库记录. ...
- Java-Session服务器端会话技术
Session 概念:服务器端会话技术,在一次对话的多次请求间共享数据,将数据保存在服务器端的对象中.HttpSession 快速入门: 获取Session对象 * HttpSession sessi ...
- 【nvm、node、npm、nrm】安装配置教程(windows版)
一.nvm 的安装与配置 1.nvm 下载与安装 nvm官方下载地址 (我这里使用当前最新版本 1.1.12) 2.验证 nvm 是否安装成功 # 查看 nvm 版本 nvm -v # 显示远程可安装 ...
- 全网最适合入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__魔法方法
全网最适合入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__魔法方法 摘要: 本文主要介绍了 Python 中创建自定义类时不同实例属性保存的基本原理和缺点,介绍了__s ...
- Azure Function 时区设置
一,引言 Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 ...
- [oeasy]python0009 - 设置断点_break_point
调试程序 回忆上次内容 py 的程序是按照顺序执行的 是一行行挨排解释执行的 程序并不是数量越多越好 kpi也在不断演化 编辑 写的代码越多 出现的bug就越多 那什么是bug呢? 如何 ...