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

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,