avue crud upload组件 增加自定义参数

2024-03-02 01:58

本文主要是介绍avue crud upload组件 增加自定义参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在某项目中使用avue crud upload 控件实现文件上传。想要携带参数,依据文档可配置data参数,应该于upload-before事件中进行data赋值,以达到修改参数的目的。

上源码:crud upload column

// 子grid上传信息表格(带upload字段)
export const tableUploadOption = {border: true,index: false,indexLabel: '序号',stripe: true,menuAlign: 'center',align: 'center',viewBtn: false,searchMenuSpan: 6,editBtn: false,saveBtn: false,addBtn: true,column: [{label: '编号',prop: 'id',hide: true,addDisplay: false},{hide: true,label: '附件上传',prop: 'imgUrl',type: 'upload',loadText: '附件上传中,请稍等',span: 24,props: {label: "fileName",value: "url",},propsHttp: {res: 'data',name: "fileName",url: "url"},tip: '上传同步至文件服务器',action: "/bzyz/apply/upload",data: {}  //指定上传参数},...]
}

vue 代码:

<avue-crud ref="upload":page.sync="page2":data="tableData2":permission="permissionList2":table-loading="tableLoading2":option="tableOption2"@on-load="getList2"@search-change="searchChange2"@refresh-change="refreshChange2"@size-change="sizeChange2"@current-change="currentChange2"@row-del="rowDel2":upload-error="uploadError":upload-delete="uploadDelete":upload-before="uploadBefore"  //本应在该事件中完成上传参数data赋值:upload-after="uploadAfter"><template slot="menuLeft"><!-- 除了要求有上传权限,还要求选中父级记录 --><el-buttonv-show="permissions.bzyz_apply_upload &&  (selectionList && selectionList.id >=0)"type="primary"icon="el-icon-upload"size="small"plain@click="$refs.upload.rowAdd()">上传</el-button></template></avue-crud>

对应的事件代码:

uploadBefore(file, done, loading, column) {column.data = {parentId: 123456};  //设置上传参数done();
},

但实际操作过程中,一直出现本次上传的参数为前一次传参的data数据,慢一拍。

因此使用watch监听解决,在上传之前(upload-before事件之前)进行data修改。

watch: {// 监控选中的父级记录,当父级记录变化时重新设置upload上传参数selectionList (val, oldVal) {let uploadUrl = this.findObject(this.tableUploadOption.column, 'imgUrl');uploadUrl.data = {pid: val.id}; //找到该数据直接修改this.refreshChange(); //查询刷新,省略代码}

注:在本示例中selectionList 为 父级选中的行记录,即为当选中父级记录的时候进行子Grid中upload参数设置。因此该参数为在触发upload上传方法前所需监控的变量。

依据avue issue也发现了类似的与upload相关问题,如果更新版本依然无效可以尝试上述方法。

这篇关于avue crud upload组件 增加自定义参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp