El-Table 表格的表头字段切换

news2024/11/14 21:57:16

最近写了一个小功能,比较有意思,特此博客记录。

提出需求:需要表头字段变化,但是我在官网上的表格相关上查找,没有发现便捷方法。

于是我有两个想法:1.做三个不同的表格。2.做一个表格使用不同的表头字段。

方法一可想而知代码会比较冗余,而且只改一个字段,改动不大。于是我采用的是方法二,字段替换。这里使用的是组件Element - The world's most popular Vue UI frameworkTabs的切换。使用当前选择的项不同而切换不同的表头字段。可以通过3个不同的v-if来判断显示的表头,这并不难。难点在于,他可以添加行,每行的数据都是通过一个下拉或者是组件来选择相应的值,我们如何区别每行的值使他们可以相互不影响才是首要解决的问题。

 <el-tabs v-model="activeName" @tab-click="handleClick">
        <el-tab-pane label="职务层次" name="first"></el-tab-pane>
        <el-tab-pane label="职称等级" name="second"></el-tab-pane>
        <el-tab-pane label="公务员职级" name="third"></el-tab-pane>
 </el-tabs>
 <el-table-column prop="level"   align="center" label="职务层次" v-if="activeName=='first'">
            <template slot-scope="scope">
              <el-select class="my-el-select my-el-selec-2"  v-model="scope.row['level']"
                         clearable placeholder="请选择职务层次" size="small">
                <el-option v-for="item in positionLevelArr" :key="item.level1" :label="item.zjmc" :value="item.zjmc"></el-option>
              </el-select>

            </template>
          </el-table-column>
          <el-table-column prop="level"   align="center" label="职称等级" v-if="activeName=='second'">
            <template slot-scope="scope">
            
              <el-select
                 v-model="selectedZyjszcdj[scope.row.id]"
                          filterable
                          size="small"
                          placeholder="请选择职称等级"
                          clearable
                          class="my-el-select my-el-select-1 gwyzjInput"
                          @focus="zcdjOptionsFocus"
                        >
                          <el-option
                            v-for="item in zyjszwdjData"
                            :key="item"
                            :label="item"
                            :value="item"
                          >
                          </el-option>
                        </el-select>
            </template>
          </el-table-column>
          <el-table-column prop="level"   align="center"   :label="isShowSoSpTitle ? '现管理职级' : '公务员职级'" v-if="activeName=='third'">
            <template slot-scope="scope">
              <el-input class="my-el-select my-el-select-1 gwyzjInput" size="small"    placeholder="请选择"
              v-model="scope.row.A0192Estring" clearable @focus="showOfficcerType(scope.row)"  @change="getA0192Estring"></el-input>

            </template>
          </el-table-column>

为解决上面提出的痛点,以图二为例,在data中定义一个对象selectedZyjszcdj

我们给每个下拉框绑定的值为selectedZyjszcdj[scope.row.id],在 Vue 中,v-model 指令用于实现表单控件的双向数据绑定。当 v-model 被用在一个数组或对象的属性上时,它会动态地更新这个属性的值。

这里的 selectedZyjszcdj 是一个对象,而 scope.row.id 是用来索引这个对象的一个动态键名。scope.row 通常是在组件的模板中使用 v-for 循环遍历数据时,循环体内部可用的一个局部变量,它包含了当前迭代项的数据和一些元信息。

具体来说:

  • selectedZyjszcdj 是一个在 Vue 组件的 data 函数中定义的对象,用来存储每个 scope.row.id 对应的值。
  • scope.row.id 是从当前循环项获取的唯一标识符,通常用于区分不同的数据记录。
  • 当用户在表单控件中输入或选择了一个值时,v-model 将把新值赋给 selectedZyjszcdj 对象中以 scope.row.id 为键的属性。

例如,如果 scope.row.id 的值是 123,那么上述 v-model 实际上就是在绑定到 selectedZyjszcdj[123] 这个特定的属性上。

使用这种模式常用于处理表格或列表中的数据编辑,其中每一行可能需要独立的数据绑定。

所以这便解决了我们的问题,尤其可见,遇见问题不可怕,有思考有想法才是最重要的。剩下的一步一脚印!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1946011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024.7.24 远程连接到另一设备(win)上的vrep时无响应(防火墙!)

Windows防火墙禁止了软件的端口的通信&#xff0c;打开即可 如何设置Windows 7 防火墙端口规则

字典集合案例

1.统计字符 统计字符串中每个字符出现的次数 s l like summer very much #去掉空格 s s.replace(" ","") d dict() for i in s:if i in d:d[i] 1else:d[i] 1 for i in d:print(i,d[i]) 2.求不重复的随机数 #导入随机数 import random a int(input(&q…

VMware 上安装 CentOS 7 教程 (包含网络设置)

**建议先看一些我安装VMware的教程&#xff0c;有些网络配置需要做一下 1.打开VMware&#xff0c;创建虚拟机 2.勾选自定义&#xff0c;点击下一步 3.点击下一步 4.勾选“稍后安装操作系统”&#xff0c;点击下一步 5.勾选linux&#xff0c;勾选centos7&#xff0c;点击下一步…

每日Attention学习12——Exterior Contextual-Relation Module

模块出处 [ISBI 22] [link] [code] Duplex Contextual Relation Network for Polyp Segmentation 模块名称 Exterior Contextual-Relation Module (ECRM) 模块作用 内存型特征增强模块 模块结构 模块思想 原文表述&#xff1a;在临床环境中&#xff0c;不同样本之间存在息肉…

Python算法基础:解锁冒泡排序与选择排序的奥秘

在数据处理和算法设计中&#xff0c;排序是一项基础且重要的操作。本文将介绍两种经典的排序算法&#xff1a;冒泡排序&#xff08;Bubble Sort&#xff09;和选择排序&#xff08;Selection Sort&#xff09;。我们将通过示例代码来演示这两种算法如何对列表进行升序排列。 一…

BGP选路之Local Preference

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时&#xff0c;BGP协议会对这些BGP路由的属性进行比较&#xff0c;以确定去往该目标网络的最优BGP路由。BGP首先比较的是路由信息的首选值&#xff08;PrefVal)&#xff0c;如果 PrefVal相同&#xff0c;就会比较本…

python-NLP:2词性标注与命名实体识别

文章目录 词性标注命名实体识别时间命名实体&#xff08;规则方法&#xff09;CRF 命名实体识别方法 词性标注 词性是词汇基本的语法属性&#xff0c;通常也称为词类。词性标注是在给定句子中判定每个词的语法范畴&#xff0c;确定其词性并加以标注的过程。例如&#xff0c;表示…

爱回收严选买的二手iPad Air 4已经使用一周啦!

有多少人是跟我一样&#xff0c;手里一旦有点小钱就留不住&#xff0c;只想花出去的&#xff1f; 本24届应届生目前刚开始实习工作&#xff0c;虽然工资低的可怜&#xff0c;但是比起大学时期还是宽裕了不少。 于是发完工资的我就非常想消费&#xff01;而我最近最想要的就是…

Fedora40安装telnet-server启用telnet服务

Fedora40安装telnet-server启用telnet服务 安装 telnet-server sudo yum install telnet-server或 sudo dnf install telnet-server启用服务 fedora40 或 CentosStream9 不能用 yum或dnf安装xinetd, telnet-server 的服务名为: telnet.socket 启用 telnet.socket.service …

Kithara和Halcon (二)

Kithara使用Halcon QT 进行二维码实时识别 目录 Kithara使用Halcon QT 进行二维码实时识别Halcon 简介以及二维码检测的简要说明Halcon 简介Halcon的二维码检测功能 Qt应用框架简介项目说明关键代码抖动测试测试平台&#xff1a;测试结果&#xff1a; 开源源码 Halcon 简介以…

C++与C中,由函数形参test(int *a)引出的问题

文章参考来源&#xff1a; 1.c函数中形参为引用的情况&#xff1b;C中a和&a的区别 描述&#xff1a; 最近在看循环单链表时&#xff0c;看到有篇文章中&#xff0c;链表初始化函数为图下&#xff0c;我在想&#xff0c;这个函数形参(类似 "int * & a"一样)到…

数据结构(二叉树-1)

文章目录 一、树 1.1 树的概念与结构 1.2 树的相关术语 1.3 树的表示 二、二叉树 2.1 二叉树的概念与结构 2.2特殊的二叉树 满二叉树 完全二叉树 2.3 二叉树的存储结构 三、实现顺序结构二叉树 3.1 堆的概念与结构 3.2 堆的实现 Heap.h Heap.c 默认初始化堆 堆的销毁 堆的插入 …

关于使用宝兰德bes中间件进行windows部署遇到的问题——license不存在

报错信息 日志文件中是这么报错的 遇到的具体情况&#xff1a; 实例按照**的文档手册正常步骤下去节点部署的时候没有报错&#xff0c;成功启动&#xff0c;但是日志里会有报错信息&#xff0c;也是license不存在实例创建的时候失败了&#xff0c;报错信息如下所示 解决方法…

Gitops-Argo-Cli安装与使用

一、安装Argo-Cli工具 Release v2.9.21 argoproj/argo-cd GitHub **选择合适的符合你操作系统以及CPU架构的二进制文件 #依v2.9.21-X86-64-Linux操作系统为例 wget https://github.com/argoproj/argo-cd/releases/download/v2.9.21/argocd-linux-amd64 #添加执行权限并且移…

昇思25天学习打卡营第19天|生成式-DCGAN生成漫画头像

打卡 目录 打卡 GAN基础原理 DCGAN原理 案例说明 数据集操作 数据准备 数据处理和增强 部分训练数据的展示 构造网络 生成器 生成器代码 ​编辑 判别器 判别器代码 模型训练 训练代码 结果展示&#xff08;3 epoch&#xff09; 模型推理 GAN基础原理 原理介…

AV1技术学习:Loop Restoration Filter

环路恢复滤波器&#xff08;restoration filter&#xff09;适用于64 64、128 128 或 256 256 像素块单元&#xff0c;称为 loop restoration units (LRUs)。每个单元可以独立选择是否跳过滤波、使用维纳滤波器&#xff08;Wiener filter&#xff09;或使用自导滤波器&#…

AM62x和rk3568的异同点

AM62x 和 RK3568 是两款不同的处理器&#xff0c;分别来自 Texas Instruments&#xff08;TI&#xff09;和 Rockchip。它们在设计目标、架构、性能和应用领域等方面存在一些异同。以下是这两款处理器的对比&#xff1a; 1. 基本架构 AM62x&#xff1a; 架构&#xff1a;基于…

【云原生】Kubernetes 中的 PV 和 PVC 介绍、原理、用法及实战案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

CRM客户管理系统是什么?如何利用CRM盘活老客户?

人与人之间的差距&#xff0c;不仅在于业务能力的高低&#xff0c;更在于如何高效地管理客户、建立深厚的客户关系。在这个“内卷化”严重的时代&#xff0c;借助工具来管理客户成为必不可少的流程。如果你保持怀疑态度&#xff0c;那我们先来聊聊。 客户管理是什么&#xff1…

HormonyOs之 路由简单跳转

Navigation路由相关的操作都是基于页面栈NavPathStack提供的方法进行&#xff0c;每个Navigation都需要创建并传入一个NavPathStack对象&#xff0c;用于管理页面。主要涉及页面跳转、页面返回、页面替换、页面删除、参数获取、路由拦截等功能。 Entry Component struct Index …