Vue Element el-upload文件/图片上传,父子组件回显处理
父组件代码:
<el-form-item label="扫描件">
<fileUpload
@success="scanningCopy"
ref="scanningCopy"
></fileUpload>
</el-form-item>
<script>
//obj是子组件传过来的对象,由于保存的接口的附件字段是一个字符串,所以用JSON转一下
// 1.赋值
scanningCopy(obj) {
this.scanningCopy = JSON.stringify(obj)
},
// 2.编辑回显,回显的核心在于上传组件的fileList数组需要有值,并且一定要加上$nextTick
//不然会出现视图刷新,但值还未取到的问题,接口返回的是一个字符串,需要JSON转回来
edit(row) {
this.carInfo = { ...row }
this.dialogVisible = true
this.$nextTick(() => {
this.$refs.scanningCopy.fileList.push(
JSON.parse(this.scanningCopy)
)
})
},
</script>
子组件代码:
<template>
<div>
<el-upload
:before-upload="beforeUpload"
accept="image/png, image/jpg, image/jpeg, .doc, .docx, .pdf"
:on-success="handleSuccess"
:on-preview="handlePictureCardPreview"
:on-error="handleError"
:file-list="fileList"
ref="uploadDialog"
:action="fileAction"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
</template>
<script>
//核心代码:上传成功后,将接口返回的数据传输给父组件,这里传输一个对象出去
handleSuccess(response, file, fileList) {
this.$emit('success', {
name: response.data.value[0].attachName,//这里的路径随着你上传接口的不同也会不同
url: response.data.value[0].attachPath//这里的路径随着你上传接口的不同也会不同
})
this.$notify({
title: '附件上传成功',
type: 'success'
})
},
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhihbkec
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11