Vue.js + Element-ui上传:如何调用方法ClearFiles或Abort

时间:2018-09-03 06:26:48

标签: javascript upload vuejs2 element-ui

我正在使用vue.jselement-ui

我想使用upload-file组件将文件发送到服务器。

如果文件已经存在,我想停止将文件加载到服务器。我想使用声明的方法abortclearFiles,但不能。 我怎么了?

HTML

<el-upload
     action="",
     :http-request="addAttachment",
     :on-remove="deleteAttachment",
     :before-upload="handleBeforeUpload",
     :file-list="fileList">
</el-upload>
<el-button size="small" type="success" @click="clearFiles">clear</el-button>

JAVASCRIPT

var vm = new Vue({
    data() {
        return {
            fileList: []
        };
    },
    methods: {
        handleBeforeUpload(file) {
            //if loading file exists in fileList - abort 
            if (findIndexInFileList(file) >= 0) {
                clearFiles(); //error
                this.clearFiles(); //.. and error
                vm.clearFiles(); //.. and also error
            }
        }
    }
}).$mount('#app');

vm.clearFiles(); //error!

1 个答案:

答案 0 :(得分:1)

带裁判! 在ref-upload中添加ref属性

<el-upload
 ref="upload">
</el-upload>

然后通过$ refs对象调用

this.$refs.upload.clearFiles()