位置: IT常识 - 正文

el-upload组件的文件回显功能和添加文件到elupload组件(elementui的upload组件详解)

编辑:rootadmin
el-upload组件的文件回显功能和添加文件到elupload组件

推荐整理分享el-upload组件的文件回显功能和添加文件到elupload组件(elementui的upload组件详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:el-upload的filelist,el-upload的filelist,el-upload data,element的upload组件,后端怎么处理,el-upload的filelist,el-upload的accept,el-upload的filelist,el-upload的filelist,内容如对您有帮助,希望把文章链接给更多的朋友!

        省流: 先获取这个文件对象,使用handleStart方法添加到组件。

this.$refs.uploadRefName.handleStart(rawfile);

        在开发的时候遇到表单里需要上传图片的功能。看了下el-upload组件的使用方法,在修改表单的时候,el-upload组件的回显遇到了麻烦:

过程:

        根据一开始的理解,按照其他教程的方法,向file-list里添加一个文件对象[{name: "aa", url: http:xxxxxxxx}]就可以。

我尝试加入一个图片的url(后来发现那并不是一个直接的url路径,而是一个get的请求路径,这可能是我添加filelist不成功的原因,暂没验证),发现组件里的文件列表一直显示不成功,后来尝试new了一个File对象,成功在文件列表里显示成功,但是在before-upload钩子函数中却找不到这个文件,传过来的参数file一直是undefined,而file-list里有这个文件对象,但是属性和其他文件对象千差万别。

el-upload组件的文件回显功能和添加文件到elupload组件(elementui的upload组件详解)

思考:    

        到这里我感觉向file-list加入自己new出来的文件对象并不是向upload组件上传文件,而是向uploadList这个组件(el-upload的子组件),然后显示到对应div和file-list

        这种行为和点击区域从本地选择文件进行上传不一样,并不是把文件对象加入组件。

        在编辑表单回显的时候,假如对upload这个组件没有做任何更改,点击提交是不会通过beforeupload钩子函数的验证的,这说明组件里并没有文件对象,往file-list添加文件对象没有真正的添加进去。

我的需求:   

        我需要在编辑表单回显的时候,把文件对象加入到组件中,用于通过beforeUpload钩子函数的验证和上传文件对象到后台。

解决办法:

        然后我开始查找如何向el-upload组件添加组件,官方文档里并没有提供手动加入file对象的方法,百度了下发现也没有关于加入文件到el-upload组件的内容。

        遂去看了下源码。elementUi对这个组件的实现就300来行,看了后发现有个handleStart方法用于获取增加文件对象,根据上文提到的url路径问题,我用xmlhttprequest方法get到这个文件对象,然后用handleStart方法成功添加到组件,通过了钩子函数验证,成功传到后台。代码如下

//给upload组件添加文件addFile(url, iamgeName) { var blob =null; var xhr = new XMLHttpRequest(); xhr.open("get", url); xhr.setRequestHeader('Accept', 'image/png'); xhr.responseType = "blob"; xhr.onload = () => { blob = xhr.response; let imageFile = new File([blob], imageName, {type: 'image/png'}); console.log(imageFile); //el-upload组件的添加文件方法 this.$refs.upload.handleStart(imageFile); }; xhr.onerror = (e) => { }; xhr.send();}

说了这么多废话,有用的就一句,用handleStart方法添加文件对象到组件,也可能是我的url问题导致filelist没有把文件对象真正加入进去,还没验证,懒得验证了。。。

本文链接地址:https://www.jiuchutong.com/zhishi/295297.html 转载请保留说明!

上一篇:向日葵上的靛蓝彩旗鸟 (© William Krumpelman/Getty Images)(蓝色向日葵)

下一篇:vite .env环境变量配置(vericut9.0环境变量)

  • 支付宝账户支付功能关闭怎么解除(支付宝账户支付功能已关闭多久恢复)

    支付宝账户支付功能关闭怎么解除(支付宝账户支付功能已关闭多久恢复)

  • 微信的自动续费功能在哪可以查看(怎么取消支付宝和微信的自动续费)

    微信的自动续费功能在哪可以查看(怎么取消支付宝和微信的自动续费)

  • 支付宝盒只能收支付宝不能用微信(支付宝盒收款不播报了怎么回事)

    支付宝盒只能收支付宝不能用微信(支付宝盒收款不播报了怎么回事)

  • 苹果下载软件需要验证查看账单信息(苹果下载软件需要登录ID帐号)

    苹果下载软件需要验证查看账单信息(苹果下载软件需要登录ID帐号)

  • 京东闪充额度是什么(京东额度快充还能取出来吗)

    京东闪充额度是什么(京东额度快充还能取出来吗)

  • 30fps视频什么意思(30fps的视频卡吗)

    30fps视频什么意思(30fps的视频卡吗)

  • 微信不能用了怎么恢复(微信不能用了怎么回事华为)

    微信不能用了怎么恢复(微信不能用了怎么回事华为)

  • qq打卡为什么有的有有的没有(qq打卡为什么有两个账号)

    qq打卡为什么有的有有的没有(qq打卡为什么有两个账号)

  • 微软型号1796是几代(微软型号1514)

    微软型号1796是几代(微软型号1514)

  • 苹果8plus怎么截图(苹果8plus怎么截长屏)

    苹果8plus怎么截图(苹果8plus怎么截长屏)

  • 自动生成目录怎么弄(自动生成目录怎么添加新目录)

    自动生成目录怎么弄(自动生成目录怎么添加新目录)

  • ios应用与数据在哪(ipone应用与数据)

    ios应用与数据在哪(ipone应用与数据)

  • iphonex双卡还是单卡(iphonex 双卡还是单卡)

    iphonex双卡还是单卡(iphonex 双卡还是单卡)

  • ios13三指触控怎么关闭(ios三指触屏)

    ios13三指触控怎么关闭(ios三指触屏)

  • vue怎么设置时长(vue怎么控制时间)

    vue怎么设置时长(vue怎么控制时间)

  • 电池开票属于哪类别(电池开票属于哪类编码)

    电池开票属于哪类别(电池开票属于哪类编码)

  • 小米手环4音乐怎么连接(小米手环4音乐播放功能怎么用)

    小米手环4音乐怎么连接(小米手环4音乐播放功能怎么用)

  • 云闪付怎么设置指纹登录(云闪付怎么设置密码让别人进不去)

    云闪付怎么设置指纹登录(云闪付怎么设置密码让别人进不去)

  • 苹果电池最大容量(苹果电池最大容量98还能回到100吗)

    苹果电池最大容量(苹果电池最大容量98还能回到100吗)

  • 如何解决浏览器Adobe Flash Player不是最新版本问题?(如何解决浏览器禁止访问)

    如何解决浏览器Adobe Flash Player不是最新版本问题?(如何解决浏览器禁止访问)

  • 在葡萄牙海岸游泳的抹香鲸妈妈和患白化病的抹香鲸宝宝 (© Flip Nicklin/Minden Pictures)(葡萄牙海岸风光)

    在葡萄牙海岸游泳的抹香鲸妈妈和患白化病的抹香鲸宝宝 (© Flip Nicklin/Minden Pictures)(葡萄牙海岸风光)

  • 土地使用税计入税金及附加吗
  • 货物运输印花税减免
  • 异地车辆流程
  • 企业所得税预缴后亏损
  • 利润表的上期金额是指全年吗
  • 水泥企业销售收入比例
  • 服务合同需要征税吗
  • 工程预付款有发票怎么做凭证
  • 补交以前年度的社保账务处理
  • 出口货物索赔如何确认收入
  • 补缴以前年度税费
  • 员工证书补贴标准
  • 旧发票专用章如何处理
  • 公司一季度报表一般是什么时候出
  • 3月申报的是什么时候的个税
  • 19年入职19年离职
  • 政府收购企业资产规定
  • 运费营改增时间
  • 个人所得税更正申报有滞纳金吗
  • 个体户生产所得税怎么计算
  • 小规模普通发票可以抵扣吗
  • 退货抵扣是什么意思
  • 不超过500万元的固定资产
  • 停薪留职单位欠缴社保怎么处理
  • 进价销售交增值税吗
  • 会计核算的一般对象
  • php查找文件目录下文件
  • Apache+php+mysql在windows下的安装与配置图解(最新版)
  • 按销售收入比例分摊进项税额按月还是按年
  • 多源传感器融合
  • chat gpt介绍开头
  • 在anaconda下安装python
  • 企业短期借款的债权人均为银行
  • 老年人经常便秘怎么办
  • 曼哈顿公园大道432号
  • wordpresscom
  • 购进设备抵扣税额
  • 以股权出资成立公司的模板
  • vscode写前端代码,如何运行
  • 【小沐学C++】C++ MFC中嵌入web网页控件(WebBrowser、WebView2、CEF3)
  • 尚硅谷百度贴吧
  • tensorflow卷积神经网络
  • 红字发票账务处理
  • mysql_install_db命令 初始化MySQL数据目录
  • 金融资产减值的三个阶段
  • python字符串isdigit
  • 工会建账需要建几本账
  • 工程结算科目
  • MySQL服务器系统支持哪些存储引擎
  • sql 获取指定字符位置
  • 外贸出口企业的收入交增值税吗
  • 长期股权投资中同一控制和非同一控制的区别
  • 低值易耗品的管理流程
  • 质量管理体系认证证书
  • 工程外管核销报告范本
  • 公司与公司之间可以借款吗
  • 固定资产折旧方法不考虑净残值
  • 企业主要的工会是什么
  • 为什么一般纳税人可以选择简易计税
  • 事业单位预收账款
  • mysql中字符串类型
  • 怎么把mac系统的文件导出
  • linux/unix
  • windows10周年更新
  • linux用户账户管理
  • fsm32.exe是什么进程 有什么作用 fsm32进程查询
  • win7如何设置多用户
  • win7系统连不了蓝牙
  • win8文件夹打不开
  • opengl教程48讲
  • Android游戏开发读后感
  • jquerymobile
  • 详解 linux mysqldump 导出数据库、数据、表结构
  • js实现一个lazyman
  • javascript的返回值
  • jquery的css方法
  • 纸质发票怎么查电子发票
  • 小汽车都交消费税吗
  • 海南购房税费最新2019规定
  • 服饰类关税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设