达到效果: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实现动态新增和删除的更多相关文章

  1. Vue+element ui table 导出到excel

    需求: Vue+element UI table下的根据搜索条件导出当前所有数据 参考: https://blog.csdn.net/u010427666/article/details/792081 ...

  2. vue + element ui 实现实现动态渲染表格

    前言:之前需要做一个页面,能够通过表名动态渲染出不同的表格,这里记录一下.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9786326.html 网站地址:我的 ...

  3. vue+element ui 的tab 动态增减,切换时提示用户是否切换

    前言:工作中用到 vue+element ui 的前端框架,动态添加 Tab,删除 Tab,切换 Tab 时提示用户是否切换等,发现 element ui  有一个 bug,这里记录一下如何实现.转载 ...

  4. element ui table表头动态筛选条件

    本文主要实现:根据el-table表格数据自动生成表头筛选条件的方法,可根据表格数据动态调整. el-table表格的表头增加筛选功能,大家平时都是怎么实现的呢?先看看官方文档的例子: 1 <t ...

  5. vue+element ui table组件封装,使用render渲染

    后台管理经常会用到表格,一开始封装了一个常用的功能性表格,点击这里: 后来由于需求增加,在表格中还会用到switch,select,input等多种组件,每次都要在html中增加<el-tabl ...

  6. vue element ui table 自动无限滚动组件

    <template>   <el-table     class="tableList"     ref="rw_table"     hei ...

  7. vue + element ui table表格二次封装 常用功能

    因为在做后台管理项目的时候用到了大量的表格, 且功能大多相同,因此封装了一些常用的功能, 方便多次复用. 组件封装代码: <template> <el-table :data=&qu ...

  8. VUE -- 对 Element UI table中数据进行二次处理

    时间——日期 后台经常给我们返回的是 时间戳 (例如:1535620671) 这时候我们页面展现的时候需要将时间戳转换为我们要的格式 例如 (YYYY-MM-DD HH:mm:ss) 如果是在Elem ...

  9. Element UI table组件源码分析

    本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...

  10. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

随机推荐

  1. RPC和心跳机制

    hadoop在节点间的内部通讯使用的是RPC,RPC协议把消息翻译成二进制字节流发送到远程节点,远程节点再通过反序列化把二进制流转成原始的信息. namenode与datanode之间的通信,jobt ...

  2. c 语言学习第六天

    数组 语法: 类型 数组名[元素个数]; int a[6]; // 4*6 字节 char b[24]; // 1*24 字节 double c[2]; // 2*8 字节 访问数组中的元素 语法: ...

  3. 详解C#委托与事件

    在C#中,委托是一种引用类型的数据类型,允许我们封装方法的引用.通过使用委托,我们可以将方法作为参数传递给其他方法,或者将多个方法组合在一起,从而实现更灵活的编程模式.委托类似于函数指针,但提供了类型 ...

  4. 搜索Python编程获取相关图书信息

    1.获取相关图书信息 #搜索"Python编程"获取相关图书信息 from selenium import webdriver from selenium.webdriver.su ...

  5. 【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)

    介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy- ...

  6. Laravel 组件

    创建组件命令 php artisan make:component Alert make:component 命令还将为组件创建视图模板.视图将放在 resources/views/component ...

  7. 解决: Cannot load information for github.com

    问题在共享项目至idea时候出现:I am getting this error while sharing on GithHub in Intellije IDEA : Cannot load in ...

  8. ADB:移动端专项测试必备神器!!

    01 Android调试桥 (adb) Android调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信. adb命令可用于执行各种设备操作(例如安装和调试应用),并提供对Unix ...

  9. STM32开发环境配置记录——关于PlatformIO + VSCode + CubeMX的集成环境配置

    前言 ​ 为什么配置这样的一个环境呢?鄙人受够了Keil5那个简陋的工作环境了,实在是用不下去,调试上很容易跟CubeMX的代码产生不协调导致调试--发布代码不一致造成的一系列问题.CubeIDE虽说 ...

  10. 【Maxwell】01 安装及入门

    官网地址: https://maxwells-daemon.io/ 下载地址(版本发行): https://github.com/zendesk/maxwell/releases 参考教程自尚硅谷视频 ...