el-upload 上传文件的同时上传数据 。 没有文件如何触发请求 电脑版发表于:2023/2/18 19:14 el-upload 上传文件的同时上传数据给el-upload组件的:data赋值就可以了。但是没有选择文件的时候上传是提交不了的。 #### 那么就可以做一个判断,如果有选择文件,就按照文件的上传方法,如果没有选择文件就直自己发起请求提交表单里边的数据 这里是配合表单做的,表单其实就是填写数据而已,填写表单的时候双向绑定会把表单里边的数据存储到变量里边,我们自己发送一个请求把填写的数据传回去就行了 ``` state['formRef'].validate(async (valid) => { if (valid) { fullscreenLoading = ElLoading.service({ lock: true, text: '存储中,请稍等...', background: 'rgba(255, 255, 255, 0.6)', }) // 如果有选择文件,就按照文件的上传方法 if (state.allImgNum > 0) { state.uploadRef.submit() } // 如果没有选择文档就直接提交表单 else { alert('没有传递文件直接提交单表') const { msg } = await upLoadNoFile(state.data) //关闭laoding fullscreenLoading.close() } } }) ``` **upLoadNoFile就是封装的发送post请求后台的方法** ``` // 当没有选择文件时候的上传方法 export function upLoadNoFile(data: any) { return request({ url: '/api/FileManager/type', method: 'post', data, }) } ``` **data里边的变量,贴几个** ``` //上传时候可以附带的额外的参数。比如绑定select值的时候可以用里边的方便直接回传 //额外参数可以不用写到那个上传文件的模板里边,只要绑定好一起回传就好了 data: { filePremissonId: '', fileTypeId: '1', archivesTypeId: '', FileName: '', StartDate: '2020-2-9', EndDate: '2020-2-9', CatalogNumber: '', //目录号 FileNumber: '', //档案号 RetentionPeriod: '', //保管期限 ConfidentialityLevel: '', //保密等级 ConfidentialityEndDate: '', //保密期限 PageNumber: null, // 页数 , 数字类型不传的话默认设置为null,不然会报错的 PageCode: null, //页码 StorageSituation: '', //保管情况 Remark: '', // 备注信息 ArchiveGeneralId: '', // 全宗号 ArchiveDoorTypeId: '', // 门类号 } ```