场景描述
使用Element UI的upload组件手动上传文件单个文件,如果选择了多个文件,会覆盖原来要上传的文件,以最新选择的文件为准。上传不使用upload组件自带的上传方式,而是使用axios上传。
实现过程
部分做法参考自:https://www.cnblogs.com/lovemomo/p/11777608.html
首先upload的html代码如下:
1 |
|
为了只能选择一个文件,我们需要利用on-change
方法,始终令file-list保留最新的一项。并且,为了能用axios上传该文件,我们需要令auto-upload=true
。虽然我们设置了upload组件自动上传,但其实这是为了该组件能执行before-upload
方法,在该方法中,我们可以获得最新选择的文件的file
对象,方便后面用axios上传,然后在该方法内始终阻止upload组件的自动上传。如果想要显示进度条,参考https://blog.csdn.net/qq_36272282/article/details/104539860。
代码如下所示:
1 |
|
Element UI的upload组件自带了部分动画, 如果不想要这些动画,可以利用>>>
关键符号修改Element UI底层代码:
1 |
|