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

element-table的动态操作,自动以表格,动态新增行、列,删除行列

灵活的自定义表格行列以及增删改查的操作,右键选中列则是列的删除,效果如下

 

 

 

 

<template><div class="st-table"><div style="width: 100%"><el-button @click="addRow()" type="primary" icon="CirclePlus">新增行</el-button><el-button @click="addCol()" type="primary" icon="CirclePlus">新增列</el-button><el-input type="text" placeholder="请输入关键字查询" v-model="tableParam.keyword" style="width: 200px;"/><el-button type="info" @click="queryList()">查询</el-button></div><el-table :data="tableData" border style="width: 100%" @header-contextmenu="cellClick"><el-table-column prop="type" label="类型" width="180"><template slot-scope="scope"><el-input type="text" v-model="scope.row.type" v-show="scope.row.iseditor" /><span v-show="!scope.row.iseditor">{{scope.row.type}}</span></template></el-table-column><el-table-column prop="code" label="编码" width="180"><template slot-scope="scope"><el-input type="text" v-model="scope.row.code" v-show="scope.row.iseditor" /><span v-show="!scope.row.iseditor">{{scope.row.code}}</span></template></el-table-column><el-table-column prop="value" label="值" width="180"><template slot-scope="scope"><el-input type="text" v-model="scope.row.value" v-show="scope.row.iseditor" /><span v-show="!scope.row.iseditor">{{scope.row.value}}</span></template></el-table-column><el-table-column prop="name" label="名称"><template slot-scope="scope"><el-input type="text" v-model="scope.row.name" v-show="scope.row.iseditor" /><span v-show="!scope.row.iseditor">{{scope.row.name}}</span></template></el-table-column><!-- 添加列 --><el-table-column v-for="(item,index) in tableHeader" :prop="item" :key="index" :label="item"><template slot-scope="scope"><el-input type="text" v-model="scope.row.item" v-show="scope.row.iseditor" style="position: relative;"/><span v-show="true"></span></template></el-table-column><!-- 添加列 --><el-table-column label="操作" width="240" align="center"><template slot-scope="scope"><el-button type="primary" @click="edit(scope.row)">编辑</el-button><el-button type="primary" @click="saves(scope.row)">保存</el-button><el-button type="danger" @click="delRow(scope.row)">删除</el-button></template></el-table-column></el-table><el-dialog title="添加表格列" :visible.sync="dialogFormVisible" :modal='false' :close-on-click-modal="false" width="30%"><el-input v-model="colName" placeholder="请输入要增加的列名" style="width: 100%;"></el-input><div slot="footer" class="dialog-footer"><el-button @click="dialogFormVisible = false">取 消</el-button><el-button type="primary" @click="getcol()">确 定</el-button></div></el-dialog><div class="toolbar" style="padding: 25px;"><pagination v-show="tableParam.total>0" :total="tableParam.total" :page.sync="tableParam.pageNumber" :limit.sync="tableParam.pageSize" @pagination="queryList"/></div></div>
</template>
<script>
import { openMessageSuccess, openMessageWarning, openMessageError } from '@/api/assembly/openMessage'
import Pagination from '@/components/Pagination'
import {query, save,del} from '@/api/zczy/dict'
export default {components: {Pagination},created() {this.initData()document.oncontextmenu = function(){return false}},data() {return {colName: '',tableParam: {pageNumber: 0,pageSize: 10,total: 0,keyword: "",},tableData: [{code: "cs1",value: "1",name: "测试1",iseditor: false},{code: "cs2",value: "2",name: "测试2",iseditor: false}],tableHeader: [],dialogFormVisible: false,delVisible: false};},methods: {queryList(){query(this.tableParam).then(res => {this.tableData = res.listthis.tableParam.total = res.totalthis.tableParam.pageNumber = res.pageNumberthis.tableParam.pageSize = res.pageSizethis.tableData.forEach(element => {this.$set(element,'iseditor',false)});})},// 新增行addRow(){const row = {code: "",value: "",name: "",iseditor: true};this.tableData.push(row)},//新增列addCol(){this.dialogFormVisible = trueif(this.colName !==''){this.tableHeader.push(this.colName)}},getcol(){this.addCol()this.dialogFormVisible = falsethis.colName = ''},//删除列cellClick(column, event) {this.$confirm('是否删除列:'+column.label+' ?', "提示", {confirmButtonText: '确定', type: 'info'}).then(() => {openMessageSuccess('测试')//   saveProject(this.rowData).then(res => {//   openMessageSuccess(res.msg)//   this.dealClose()// })})},delRow(row) {const index = this.tableData.indexOf(row)this.tableData.splice(index, 1);let params = {id:row.id}del(params).then(res=>{openMessageSuccess(res.msg)this.queryList()})},edit(row) {row.iseditor = true;},saves(row) {save(row).then(res=>{openMessageSuccess(res.msg)this.queryList()})},//初始化数据initData() {// this.queryList()}},}
</script>
<style>.mybtn{color: #fff;background-color: #67c23a;border-color: #67c23a;}
</style>

为了方便可以直接复制代码查看效果已把动态数据换成自定义数据

相关文章:

element-table的动态操作,自动以表格,动态新增行、列,删除行列

灵活的自定义表格行列以及增删改查的操作,右键选中列则是列的删除&#xff0c;效果如下 <template><div class"st-table"><div style"width: 100%"><el-button click"addRow()" type"primary" icon"CircleP…...

python--文件管理系统

文件系统管理项目说明文档 项目说明 基本任务 在内存中开辟一个空间作为文件存储器&#xff0c;在其上实现一个简单的文件系统退出这个文件系统时&#xff0c;需要该文件系统的内容保存到磁盘上&#xff0c;以便下次可以将其回复到内存中来 具体要求 文件存储空间管理可采取链…...

uniapp 微信小程序:RecorderManager 录音DEMO

uniapp 微信小程序&#xff1a;RecorderManager 录音DEMO 简介index.vue参考资料 简介 使用 RecorderManager 实现录音。及相关的基本操作。&#xff08;获取文件信息&#xff0c;上传文件&#xff09; 此图包含Demo中用于上传测试的服务端程序upload.exe&#xff0c;下载后用…...

__call__和__init__和__new__和__str__和__repr__

目录 一、__call__ 二、__init__和__new__ 三、__str__ 四、__repr__ python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 一、__call__ 对象后面加括号时&#xff0c;触发执行。注&#xff1a;构…...

设计模式--工厂模式(Factory Pattern)

一、 什么是工厂模式 工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的接口&#xff0c;但是将对象的实例化过程推迟到子类中。工厂模式允许通过调用一个共同的接口方法来创建不同类型的对象&#xff0c;而无需暴露对…...

【Android】 No matching variant of com.android.tools.build:gradle:[版本号] was found

项目报错 No matching variant of com.android.tools.build:gradle:8.1.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute …...

650V 1200V碳化硅二极管MOS管规格书参数,6A 8A 10A 15A 20A 封装TO220低VF电压 低内阻特性

650V碳化硅二极管6A 8A 15A提供样品 650V 40毫欧超结COOL MOS提供样品 650V 超结COOL MOS资料 国产替代 650V 1200V碳化硅二极管技术资料...

python基础—python6种基本数据类型及数据类型之间转换

文章目录 一、python标准数据类型&#xff08;一&#xff09;数字类型整型&#xff1a;int浮点型&#xff1a;flaot布尔型&#xff1a;bool复数类型&#xff1a;complex &#xff08;二&#xff09;字符串&#xff08;三&#xff09;列表类型&#xff08;四&#xff09;元组类型…...

Axure RP

Axure RP 简介下载安装汉化注册 简介 Axure RP&#xff08;Rapid Prototyping&#xff09;是一款交互式原型设计工具&#xff0c;用于创建高保真的交互式界面原型和线框图。它主要用于用户体验&#xff08;UX&#xff09;和用户界面&#xff08;UI&#xff09;设计&#xff0c…...

java使用ExcelExportUtil.exportBigExcel导出大文件(非分页)

网上看到很多使用这个方法处理的时候&#xff0c;大多使用的分页进行查询&#xff0c;但是当遇到特殊的产品需求&#xff0c;比如A类型数据&#xff0c;多条记录就显示多行&#xff0c;B类型的要求存在多条记录时&#xff0c;就进行汇总后只显示一条&#xff0c;这就导致无法使…...

PlantUML文本绘制类图

记录下文本绘制类图的语法 参考 https://juejin.cn/post/6844903731293585421 类的UML表示 使用UML表示一个类&#xff0c;主要由三部分组成。类名、属性、方法。其中属性和方法的访问修饰符用 - 、# 、 表示 private、protected、public。 如图所示&#xff0c;表示A类有一个…...

5分钟理解NPL算法 之 马尔可夫链 Markov Chain

马尔可夫链&#xff08;Markov Chain&#xff09; 马尔可夫链是一种简单的推理模型。用于描述受当前事件影响下的下一事件发生概率。在预测学科中广泛应用。例如股票预测、文字推理、路线推荐等。 他的核心思路是&#xff1a;假设事件顺序为: X 1 , X 2 , X 3 , . . . . . X…...

C#_GDI+ 绘图编程入门

官网提供相关API GDI 基本图形功能_drawing 高级二维和矢量图形功能_drawing2D GDI 图像处理功能_Imaging GDI 排版功能_text Windows 窗体应用程序提供打印功能_Printing 像素 构成图像的最小单位就是像素&#xff1b;屏幕上显示不管是位图或者矢量图&#xff0c;当描述…...

自己写一个svg转化为安卓xml的工具类

自己写一个svg转化为安卓xml的工具类_张风捷特烈的博客-CSDN博客 svg资源阿里巴巴矢量资源网站:iconfont-阿里巴巴矢量图标库 感觉一般的svg到Android可用的xml差异有点规律&#xff0c;主要的就是path 秉承着能用代码解决的问题&#xff0c;绝对不动手。能够靠智商解决的问题…...

基于随机森林的机器启动识别,基于随机森林的智能家居电器启动识别

目录 背影 摘要 随机森林的基本定义 随机森林实现的步骤 基于随机森林的机器启动识别 代码下载链接: 基于随机森林的家用电器启动识别,基于RF的电器启动识别,基于随机森林的智能家居启动检测-深度学习文档类资源-CSDN文库 https://download.csdn.net/download/abc991835105/…...

Apache Doris 极简运维之BE扩缩容(1)

Apache Doris 极简运维之BE扩缩容&#xff08;1&#xff09; 一、环境信息硬件信息软件信息 二、缩容2.1 DROP BACKEND缩容2.2 DECOMMISSION BACKEND缩容2.2.1 缩容前2.2.2 缩容中2.2.3 缩容后 三、扩容3.1 扩容前3.2 扩容中3.3 扩容后 四、总结 一、环境信息 已部署三个BE节点…...

MySQL每日一练--校园教务系统

一丶数据库名称&#xff1a;SchoolDB 二丶数据库表信息&#xff1a;角色信息表 表名&#xff1a; t_role 主键&#xff1a; r_id 序号 字段名称 字段说明 类别 位数 属性 备注 1 r_id 角色编号 int 主键 自动增长 2 r_name_EN 角色名&#xff08;英…...

9.阿里Sentinel哨兵

1.Sentinel Sentinel&#xff08;哨兵&#xff09;是由阿里开源的一款流量控制和熔断降级框架&#xff0c;用于保护分布式系统中的应用免受流量涌入、超载和故障的影响。它可以作为微服务架构中的一部分&#xff0c;用于保护服务不被异常流量冲垮&#xff0c;从而提高系统的稳定…...

设计模式之工厂方法模式

目录 工厂方法模式 简介 优缺点 结构 使用场景 实现 1.抽象产品 2.具体产品 3.抽象工厂 4.具体工厂 5.调用 总结 抽象工厂模式 简介 结构 实现 区别 工厂方法模式 简介 提供一个用于创建对象的接口(工厂接口)&#xff0c;让其实现类(工厂实现类)决定实例化哪…...

【案例教程】基于R语言的物种气候生态位动态量化与分布特征模拟

在全球气候快速变化的背景下&#xff0c;理解并预测生物种群如何应对气候变化&#xff0c;特别是它们的地理分布如何变化&#xff0c;已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟&#xff0c;不仅可以量化描述物种对环境的需求和适应性&#xff0c;预…...

机器人手臂相机 vs 抓手相机:5个关键区别与选型指南(附避坑技巧)

机器人手臂相机 vs 抓手相机&#xff1a;5个关键区别与选型指南&#xff08;附避坑技巧&#xff09; 在工业自动化领域&#xff0c;视觉引导系统如同机器人的"眼睛"&#xff0c;而相机安装位置的选择往往决定了整个系统的精度与可靠性。当工程师面对手臂相机&#xf…...

大致说一下spring bean的生命周期

面试 1、实例化 Bean 2、给 Bean 属性赋值 3、初始化 Bean 4、使用 Bean 5、销毁 Bean package com.example.demo.bean;import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.springframework.beans.factory.annotation.Value; import …...

终极指南:如何在Open Interpreter中快速集成vLLM高速推理引擎

终极指南&#xff1a;如何在Open Interpreter中快速集成vLLM高速推理引擎 【免费下载链接】open-interpreter Open Interpreter 工具能够让大型语言模型在本地执行如Python、JavaScript、Shell等多种编程语言的代码。 项目地址: https://gitcode.com/GitHub_Trending/op/open…...

如何用WechatFerry构建企业级微信自动化解决方案

如何用WechatFerry构建企业级微信自动化解决方案 【免费下载链接】wechatferry 基于 WechatFerry 的微信机器人底层框架 项目地址: https://gitcode.com/gh_mirrors/wec/wechatferry 一、场景化价值&#xff1a;从业务痛点到自动化突破 在数字化转型加速的今天&#xf…...

OpenRocket:开源火箭仿真平台的技术架构与实践指南

OpenRocket&#xff1a;开源火箭仿真平台的技术架构与实践指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 价值定位&#xff1a;如何突破传统火箭设计…...

Hunyuan-MT-7B应用案例:国际展会AI同传助手系统后端架构设计

Hunyuan-MT-7B应用案例&#xff1a;国际展会AI同传助手系统后端架构设计 1. 项目背景与需求分析 国际展会现场的同声传译一直是技术难题。传统人工翻译成本高昂&#xff0c;且难以覆盖所有语言组合。随着多语言大模型的发展&#xff0c;AI同传系统成为可行的解决方案。 Huny…...

第4章 编码规范-4.3 导入规范

导入语句包括import语句和from…import语句&#xff0c;该语句需要位于编码注释和文件注释之后&#xff0c;全局变量和常量之前。建议每一条导入语句只导入一个模块。示例代码如下&#xff1a;# 资源包\Code\chapter4\4.3\0406.py# 建议每一条导入语句只导入一个模块import rei…...

大语言模型应用落地:从RAG到工作流,IT企业智能转型全攻略!

引言检索增强生成&#xff08;RAG&#xff09;微调&#xff08;Fine-Tuning&#xff09;智能体&#xff08;Agents&#xff09;工作流与流程编排&#xff08;Workflow&#xff09;企业落地策略与阶段规划落地难点与最佳实践建议结语引言大语言模型&#xff08;LLM&#xff09;技…...

BiliRoamingX集成开发:Android 14兼容性优化与高级模块注入技术解析

BiliRoamingX集成开发&#xff1a;Android 14兼容性优化与高级模块注入技术解析 【免费下载链接】BiliRoamingX-integrations BiliRoamingX integrations powered by revanced. 项目地址: https://gitcode.com/gh_mirrors/bi/BiliRoamingX-integrations BiliRoamingX作为…...

终极指南:如何在Foobar2000中安装和配置ESLyric逐字歌词源

终极指南&#xff1a;如何在Foobar2000中安装和配置ESLyric逐字歌词源 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 想要在Foobar2000中享受精准的逐字…...