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

记录可编辑表格(未完整)

每一行都独立

在这里插入图片描述

<el-table-column label="操作" width="220" fixed="right">
  <template #default="{ row, $index }">
    <el-button
        v-if="!row.tableEditFlag"
        type="primary"
        size="small"
        @click="startEdit($index,row.id)"
    >
      编辑
    </el-button>
    <template v-else>
      <el-button
          type="success"
          size="small"
          @click="saveEdit($index,row.id)"
      >
        保存
      </el-button>
      <el-button
          type="danger"
          size="small"
          @click="cancelEdit($index,row.id)"
      >
        取消
      </el-button>
    </template>
  </template>
</el-table-column>
  // 使用深拷贝来保存原始数据
  const originalData = ref(JSON.parse(JSON.stringify(tableData.value)))

  const startEdit = (index,id?) => {
    if (originalData.value[index] == null) {
      originalData.value[index] = JSON.parse(JSON.stringify(tableData.value[index]))
    }
    tableData.value[index].tableEditFlag = true
  }

  const saveEdit = (index,id?) => {
    const row = tableData.value[index]
    row.tableEditFlag = false
    // 更新原始数据
    originalData.value[index] = JSON.parse(JSON.stringify(row))
    // 调用接口保存数据
    updateExcelData1Api(originalData.value[index]).then(res => {
      modal.msgSuccess('保存成功')
    })
  }

  const cancelEdit = (index,id?) => {
    if (originalData.value[index] != null) {
      // 使用深拷贝来恢复数据,确保不会相互影响
      tableData.value[index] = JSON.parse(JSON.stringify(originalData.value[index]))
      tableData.value[index].tableEditFlag = false
    } else {
      // 如果原始数据不存在,我们可以选择删除这一行或者重置为默认值
      // 这里选择删除这一行
      tableData.value.splice(index, 1)
      originalData.value.splice(index, 1)
      modal.msgWarning('原始数据不存在,该行已被删除')
    }
  }


http://www.kler.cn/a/311632.html

相关文章:

  • pgsql和mysql的自增主键差异
  • Redis - String 字符串
  • 从0开始学docker (每日更新 24-11-7)
  • Iceberg 写入和更新模式,COW,MOR(Copy-on-Write,Merge-on-Read)
  • 光流法与直接法在SLAM中的应用
  • uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用
  • 【25.3】C++智能交友系统
  • K8s1.28 部署Dashboard获取登录信息
  • STM32 HAL freertos零基础(八)事件标志组
  • 09 Shell Scriptfor循环结构语句
  • 防爆手机+鸿蒙系统,遨游通讯筑牢工业安全基石
  • Android实现自定义下拉列表绑定数据
  • WEB 编程:使用富文本编辑器 Quill 配合 WebBroker 后端
  • Go语言grequests库并发请求的实战案例
  • vue3常用的组件间通信
  • 『功能项目』眩晕图标显示【52】
  • Mac 上哪个剪切板增强工具比较好用? 好用剪切板工具推荐
  • Cubic Eight-Puzzle(UVA-1604)
  • mysql DBA常用的sql
  • python教程(二):python数据结构大全(附代码)
  • R语言中的shiny框架
  • MySQL之事务
  • 计算机网络:概述 --- 体系结构
  • 插入排序详解
  • Facebook的用户隐私保护:从争议到革新
  • 【编程底层原理】mysql的redo log undo log bin log日志的作用,以及何时生成,涉及到哪些参数变量