element-ui upload 选择文件后不自动上传

ppylox
·3/8/2021·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

element-ui的upload组件可通过设置auto-upload="false"禁止选择文件后自动上传,再通过refs调用submit()手动触发上传。提交前可用this.$refs.importRef.uploadFiles.length判断是否已选择文件,为空则提示。若需限制单文件且后选覆盖前选,可去掉limit属性,在on-change事件中截取uploadFiles最后一个文件重新赋值实现覆盖。

\n

可能我们在使用element-ui 的upload上传组件的时候不希望在选择完文件后就马上上传,而是希望在点击提交后再统一上传,其实element-ui也是支持的。首先设置auto-upload="false",然后在通过refs手动触发提交操作。

\n\n\n\n

<el-upload

\n\n\n\n

              ref="importRef"

\n\n\n\n

              name="filename"

\n\n\n\n

              :data="{template: userImportModule}"

\n\n\n\n

              :action="baseUrl + '/erm-index-service/roleUser/importUsers'"

\n\n\n\n

              :headers="headers"

\n\n\n\n

              :show-file-list="true"

\n\n\n\n

              :on-success="updateFileSuccess"

\n\n\n\n

              :on-error="updateFileError"

\n\n\n\n

              :file-list="currFileList"

\n\n\n\n

              :limit="1"

\n\n\n\n

              :auto-upload="false">

\n\n\n\n

                <el-button type="primary" plain>选择文件</el-button>

\n\n\n\n

            </el-upload>

\n\n\n\n

手动触发:this.$refs.importRef.submit()

\n\n\n\n

提交前判断是否有选择文件:

\n\n\n\n

if (!this.$refs.importRef.uploadFiles.length) {

\n\n\n\n

          this.$message.warning("请选择文件")

\n\n\n\n

          return false

\n\n\n\n

        }

\n\n\n\n

如果想实现一次只能上传一个文件,并且后一个文件会默认覆盖前一个文件的话,可以将limit =1 去掉,通过on-change事件触发,截取最后一个文件赋值给upload组件

\n\n\n\n

this.$refs.importRef.uploadFiles = this.$refs.importRef.uploadFiles.slice(-1)

\n

相关文章

评论 (0)

暂无评论,来写第一条吧