Table表格组件不请求接口,实现表格里某条数据的本地编辑功能(Vue3+ArcoDesign)

本文主要是介绍Table表格组件不请求接口,实现表格里某条数据的本地编辑功能(Vue3+ArcoDesign),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【背景】
在 Vue3 + ArcoDesign项目中,使用ArcoDesign-Table表格组件不请求接口,实现表格里某条数据的本地编辑功能。最后统一通过接口发送数据。

【步骤】

1. 在表格每条数据列后添加一个“编辑”按钮,点击该按钮弹出一个对话框,用于修改表格行的数据。

示例页面如下:
在这里插入图片描述

template主要示例代码如下(父组件):

// <template>
<a-table :data="tableData" ><template #rules="{ record }"><a-buttontype="text"size="small"@click="handleEdit(record.list)">编辑</a-button></template>
</a-table>// 子组件
<edit-fault// editFaultVisible.value控制子组件的显隐v-model:visible="editFaultVisible"// propsTableData.value用于往子组件内传递数据:props-table-data="propsTableData"// handle-ok用于接收子组件emit过来的数据@handle-ok="editHandleOk"
></edit-fault>

script主要示例代码如下(父组件):

// <script setup lang="ts">
// 打开子组件弹框
const handleEdit = (data: array) => {propsTableData.value = data;editFaultVisible.value = true;
};

2. 在对话框中添加一个表单,用于输入修改后的数据,将修改后的数据更新到表格中,同时关闭对话框。

示例页面如下:

在这里插入图片描述
弹框主要示例代码如下(子组件):

<a-modalv-model:visible="dialogVisible"title="编辑"width="auto":mask-closable="false"unmount-on-close@ok="handleOk"@cancel="handleCancel"
><a-table:data="renderData"></a-table>
</a-modal>
// 接收父组件传来的值
const props = defineProps<{visible: boolean;propsTableData: any;
}>();
// 将接收到的值赋值,在弹框展示
renderData.value = props.propsTableData;
// 注册emits事件
const emits = defineEmits(['update:visible','handleOk']);
// 弹框内点击确定
const handleOk = () => {// 编辑结束后在弹框内点击确定按钮,将编辑后的数据renderData.value传给父组件emits('handleOk', renderData.value);// 关闭子组件的弹框dialogVisible.value = false;
};

3. 父组件拿到子组件通过emits传过来的值

示例代码如下:

// 接收子组件弹框编辑后传过来的数据
const editHandleOk = (list: any) => {// 在父组件table绑定的tableData值里通过indexOf找到子组件内编辑的这条数据首次出现的位置。const dataIndex = tableData.value.indexOf(list);// 将list替换数组tableDataCopy中索引为dataIndex的元素。它删除了原来的元素,然后将新值插入到该位置const tableDataCopy = [...tableData.value];tableDataCopy.splice(dataIndex, 1, ...list);// 重新给父组件赋值tableData.value = tableDataCopy;
};

4. 在父组件内点击保存时,将编辑后的数据统一发送接口进行更新

示例代码如下:

const submit = async () => {await editData(tableData.value)
}

这篇关于Table表格组件不请求接口,实现表格里某条数据的本地编辑功能(Vue3+ArcoDesign)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023652

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决