vue3.0 el-table 行内点击图标 修改该条数据某个值

需求:点击el-table 中的单个状态旁边小图标可以进行修改该条数据的状态:原型图如下

点击编辑图标,可以进行如下图操作:

实现逻辑:

获取表格数据时,我们可以给其一个标志位,以此来展示改初始时为不可编辑状态,只有点击按钮才能显示选择框以及取消保存按钮,我们可以通过该条数据的 index row  的改变来达到我们的目的,修改该条数据。

代码如下:

 //初始时赋值标志位显示不可编辑状态
 res.data.rows.forEach(function(val, index) {
        val.index = index;
        val.edit = true;
   });


  <el-table-column
      property="状态"
      label="状态"
      min-width="180px"
      align="center"
    >
      <template #default="scope">
        <span v-if="scope.row.edit === false">
          <el-row>
            <el-col :span="14" style="padding-left:0px;padding-right:0px">
              <el-select
                v-model="scope.row.auditStatus"
                placeholder="请选择..."
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                />
              </el-select>
            </el-col>
            <el-col
              :span="6"
              style="padding-left:0px;padding-right:0px;margin-top:2px;"
            >
              <span
                style="color:blue ;cursor:pointer;margin-top:2px;"
                @click="changeSave(scope.row.index, scope.row)"
              >
                <CircleCheck
                  style="color:#4F8AFF ;width:16px;height:16px;cursor:pointer;margin- 
                 bottom: -3px;"
                />
              </span>
              <span
                style="color:blue ;cursor:pointer;margin-top:2px;"
                @click="changeOff(scope.row.index, scope.row)"
              >
                <CircleClose
                  style="color:#4F8AFF ;width:16px;height:16px;cursor:pointer;margin- 
                 bottom: -3px;margin-left: 5px;"
                />
              </span>
            </el-col>
          </el-row>
        </span>
        <span
          class="spanan"
          v-if="scope.row.edit === true"
          @click="changeOn(scope.row.index)"
        >
          {{ scope.row.auditStatus }}
          <Edit
           style="marginleft:10px;color:#4F8AFF;width:16px;height:16px;cursor:pointer;margin-bottom: 
           -3px;"
          />
        </span>
      </template>
    </el-table-column>

// 取消

const changeOff = (index, row) => {
  data.tableData[index].edit = true;
  ElMessage({
    showClose: true,
    type: 'info',
    message: '取消操作 !',
  });
};

// 打开
const changeShow = i => {

//该步是为了让我们每次只能打开一项
  data.tableData.forEach(item => {
    item.edit = true;
  });
  data.tableData[i].edit = false;
};

//保存

const changeSave = async (index, row) => {
  data.tableData[index].edit = true;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亿赛通电子文档安全管理系统 SQL注入漏洞复现

0x01 产品简介 亿赛通电子文档安全管理系统&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

【重点】23.合并K个升序链表

题目 法1&#xff1a;分治合并 class Solution {public ListNode mergeKLists(ListNode[] lists) {return merge(lists, 0, lists.length - 1);}public ListNode merge(ListNode[] lists, int l, int r) {if (l > r) {return null;}if (l r) {return lists[l];}int mid l…

react经验8:使用antd的checkbox实现全选与半选控制

预期实现的效果 列表项部分选中时&#xff0c;checkall处于半选状态&#xff0c;点击checkall要么全选&#xff0c;要么全不选。 实现步骤 列表项类型 declare type TableRow {key: Keytitle: stringisSelected?: boolean }示范数据 const [tabledata, setTabledata] u…

致远互联-OA wpsAssistServlet 任意文件读取漏洞复现

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA wpsAssistServlet 存在任意文件读取漏洞,攻击者可读取系统密码等敏感信息进一步控制系统。 0x03 复现环境…

大数据安全 | 【实验】ElGamal公钥密码

文章目录 &#x1f4da;关于ElGamal密码&#x1f4da;实验目的&#x1f4da;流程梳理&#x1f407;Step1&#xff1a;实现快速幂取模运算&#x1f407;Step2&#xff1a;求解问题一&#x1f407;Step3&#xff1a;求解问题二 &#x1f4da;实验结果 &#x1f4da;关于ElGamal密…

IDEA中Terminal配置为bash

简介 我们日常命令行都是使用Linux的bash指令&#xff0c;但是我们的开发基本都是基于Windows上的IDEA进行开发的&#xff0c;对此我们可以通过将IDEA将终端Terminal改为git bash自带的bash.exe解决问题。 配置步骤 安装GIT 这步无需多说了&#xff0c;读者可自行到官网下载…

世界5G大会

会议名称:世界 5G 大会 时间:2023 年 12 月 5 日-12 月 8 日 地点:河南郑州 一、会议简介 世界 5G 大会,是由国务院批准,国家发展改革委、科技部、工 信部与地方政府共同主办,未来移动通信论坛联合属地主管厅局联合 承办,邀请全球友好伙伴共同打造的全球首个 5G 领域…

多架构容器镜像构建实战

最近在一个国产化项目中遇到了这样一个场景&#xff0c;在同一个 Kubernetes 集群中的节点是混合架构的&#xff0c;也就是说&#xff0c;其中某些节点的 CPU 架构是 x86 的&#xff0c;而另一些节点是 ARM 的。为了让我们的镜像在这样的环境下运行&#xff0c;一种最简单的做法…

阿里云人工智能平台PAI多篇论文入选EMNLP 2023

近期&#xff0c;阿里云人工智能平台PAI主导的多篇论文在EMNLP2023上入选。EMNLP是人工智能自然语言处理领域的顶级国际会议&#xff0c;聚焦于自然语言处理技术在各个应用场景的学术研究&#xff0c;尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、…

Linux ed命令教程:如何使用ed命令编辑文本文件(附案例详解和注意事项)

Linux ed命令介绍 ed命令是Linux中的一个简单文本编辑器。它是一种基于行的文本编辑器&#xff0c;用于创建、修改和操作文本文件。它是Unix中最早的编辑器&#xff0c;后来被vi和emacs文本编辑器所取代。 Linux ed命令适用的Linux版本 ed命令在大多数Linux发行版中都可以使…

【视觉SLAM十四讲学习笔记】第四讲——李代数求导与扰动模型

专栏系列文章如下&#xff1a; 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵 【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角 【视觉SLAM十四讲学习笔记】第三讲——四元…

Landsat7_C2_ST数据集2019年1月-2022年12月

简介&#xff1a; Landsat7_C2_ST数据集是经大气校正后的地表温度数据&#xff0c;属于Collection2的二级数据产品&#xff0c;以开尔文为单位测量地球表面温度&#xff0c;是全球能量平衡研究和水文模拟中的重要地球物理参数。地表温度数据还有助于监测作物和植被健康状况&am…