当前位置: 首页 > news >正文

Element-Ui el-table 动态添加行

一、在项目需要使用

这个需求主要是在项目中需要用到
1.点击新增按钮,可以实现新增行。
2.在每个列里面可以进行输入。
3.可以删除新增的行,包括数据。

二、HTML代码

1.主要是循环每一个列,而且这些列都是动态,根据父组件传过来的,这样可以动态的决定要多少的数据。
2.:data=“tableData” 这个才是决定行的代码,可以通过push的方法新增行或者减少行。

<template><div class="add-table"><el-button class="mb10" size="mini" type="primary" @click="addTableRow">新 增</el-button><el-table :data="tableData" stripe highlight-current-row border ref="addTableRowRef"><el-table-column type="index" label="序号" align="center" width="50"></el-table-column><el-table-column align="center" v-for="(item,index) in dataList" :prop="item.code" :label="item.name" :key="index"><template slot-scope="scope"><el-input v-model="scope.row[item.code]"></el-input></template></el-table-column><el-table-column label="操作" width="120" align="center"><template slot-scope="scope"><el-button size="mini" type="danger" icon="el-icon-delete"  @click="handleDeleteRow(scope.$index,tableData)">删除</el-button></template></el-table-column></el-table></div>
</template>

三、JavaScript代码

<script>
export default {name: 'AddTable',props: {rowTitle: {type: Array,default() {return []}},rowObj: {type: Object,default() {return {}}}},watch: {rowTitle: {handler: function(newValue) {if(newValue.length > 0) {this.dataList = newValue}},immediate: true}},data() {return {tableData: [],dataList: []}},methods: {addTableRow() {var addObj = {};this.rowTitle.forEach(el => {addObj[el.code] = ''})this.tableData.push(addObj);// this.tableData.push(this.rowObj);setTimeout(() => {this.$refs.addTableRowRef.setCurrentRow(addObj);}, 10);},handleDeleteRow(index, rows) {this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {rows.splice(index, 1)this.$message({type: 'success',message: '删除成功!'});}).catch(() => {this.$message({type: 'info',message: '已取消删除'});          });},},
}
</script>

四、看图片(效果)
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/229047.html

相关文章:

  • 深度学习 大数据 股票预测系统 - python lstm 计算机竞赛
  • vue v-model
  • springboot整合ELK
  • 线性表->栈
  • linux rsyslog日志采集格式设定一
  • [100天算法】-不同路径 III(day 75)
  • 【学习笔记】[CCO2021] Travelling Merchant
  • 【终端】记录mbedtls库的重新安装
  • ElasticSearch简单操作
  • android studio新版本gradle Tasks找不到assemble
  • uniapp 小程序 身份证 和人脸视频拍摄
  • 飞腾ARM UOS编译Qt 5.15.2源码及Qt Creator
  • Oracle(2-2)Oracle Net Architecture
  • 高速高精运动控制,富唯智能AI边缘控制器助力自动化行业变革
  • GPTS应用怎么创建?GPTS无法创建应用很卡怎么办
  • 目标检测YOLO实战应用案例100讲-基于无人机的运动目标检测
  • 东莞松山湖数据中心|莞服务器托管的优势
  • 时间序列预测实战(十五)PyTorch实现GRU模型长期预测并可视化结果
  • 探索STM32系列微控制器的特性和性能
  • 数据结构(超详细讲解!!)第二十三节 树型结构
  • Python 日志记录器logging 百科全书 之 日志回滚
  • 线圈寿命预测 数据集讲解
  • Flutter.源码分析.flutter/packages/flutter/lib/src/widgets/scroll_view.dart/GridView
  • IDEA 2022创建Spring Boot项目
  • Python 框架学习 Django篇 (十) Redis 缓存
  • 考研数学笔记:线性代数中抽象矩阵性质汇总
  • C语言--假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只​
  • nacos适配达梦数据库
  • CTFhub-RCE-读取源代码
  • Ansible playbook详解