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

相关文章

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或