elementUI el-upload上传组件没有进度条

文档中使用el-upload组件上传有上传进度显示,如图:

clipboard.png

代码如下:

<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :file-list="fileList">
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
<script>
  export default {
    data() {
      return {
        fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
      };
    },
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

我这边代码如下:

clipboard.png

结果如下:

clipboard.png

但是我上传时没有进度条,直接显示完成状态,但是后台还是在上传中,啥原因,我看了文档有没有可以控制的地方

回答:

你是不是使用了mockjs
参见issue

el-upload的源码中 const xhr = new XMLHttpRequest() 而mockjs会重新声明一个XMLHttpRequest导致el-upload的progress失效

你把mock去掉就行了

回答:

我也遇见了这个问题;楼主是怎么解决 的?

回答:

IE,或者其他支持flash的浏览器就可以显示出进度条。
非IE,或者其他不支持flash的浏览器就显示不出进度条,上传成功显示绿色勾勾。
以上结果是我猜的,我用Edge没,IE11就有。
忽喷,( ̄▽ ̄)”

回答:

没有进度条可能是因为你在
handleProgress_fileList2 方法中, 直接给你的 fileList 赋值了, element 认为你已经成功, 所以没有显示进度条直接展示你上传的图片;

你把
fileList 的赋值操作放到 handleSuccess_fileList2 去;

回答:

我跟你正好相反,官网文档中没有进度条,但我的项目中有进度条.我想把进度条隐藏掉

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注