ElementUI 上传组件一些实践总结

发布于 2021-12-08 12:42:28 字数 906 浏览 1193 评论 0

附件上传逻辑

在 el-upload 组件内定义中包含一个数组 uploadList,它表示上传成功的文件列表,随着上传成功、移除附件成功,都是对该对象列表的维护。

但在使用 el-upload 的时候通常还会传入一个 :file-list="fileList" 对象,它表示我们将用 fileList 来初始化组件中的 uploadList 对象。

任何时候只要 fileList 对象发生改变,它将会单向同步到组件内的 uploadList 中,因此我们如果希望拿到 uploadList 的数据,用于做判断(比如判定是否展示添加更多附件的 + 号),有两种做法:

  • (1)通过在 el-upload 中增加 ref='upload',在通过 this.$refs['upload'].uploadList 即可拿到,问题在于不可实时。
  • (2)通过 on-success 和 on-remove 事件来获取到 新增 或 移除 的file对象,然后将它同步到我们传时使用的 fieList 对象中,可以实时。

最终我们提交数据到后端的时候,再将 fileList 中的数据结构转化为我们期望的数据结构即可。

附件上传钩子

handleUploaded(file, fileObj, fileList) 的表现需要注意:

  • 单次上传多个附件,只触发 handleUploaded 一次,因此需要同步上传过的文件只能使用 fileList
  • 假定上传了 1 个附件后,再上传 2 个附件触发 handleUploaded 时 fileList 的长度为 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

夜无邪

暂无简介

0 文章
0 评论
19447 人气
更多

推荐作者

留蓝

文章 0 评论 0

18790681156

文章 0 评论 0

zach7772

文章 0 评论 0

Wini

文章 0 评论 0

ayeshaaroy

文章 0 评论 0

初雪

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文