zoukankan      html  css  js  c++  java
  • el-upload上传组件(隐藏上传按钮/隐藏文件删除标记)

    <template>
      <el-upload
        ref="uploadFile"
        :class="[showUploadBtn ? '' : 'hidden-Btn']"   //是否隐藏点击上传的按钮
        :disabled="!showUploadBtn"                     //是否隐藏文件删除标记
        action="#none"
        :http-request="uploadSectionFile"
        :on-preview="handlePreview"
        :on-remove="handleRemove"
        :before-remove="beforeRemove"
        :on-change="fileChange"
        :auto-upload="false"
        multiple
        :on-exceed="handleExceed"
        :file-list="fileList"
      >
        <el-button size="small" type="primary">点击上传</el-button>
      </el-upload>
    </template>
    
    <script>
    export default {
      name: "UploadFiles",
      props: {
        files: {
          type: Array,
          default: () => [],
        },
        /*是否显示上传文件按钮、是否显示文件删除×号*/
        showUploadBtn: {
          type: Boolean,
          default: true,
        },
      },
      data() {
        return {
          fileList: this.files,
        };
      },
      methods: {
        handleRemove(file, fileList) {
          console.log(file, fileList);
          // 改变文件列表
          this.fileList = fileList;
        },
        handlePreview(file) {
          console.log("handlePreview:", file);
          if (file.url) {
            window.open(file.url);
          }
        },
        handleExceed(files, fileList) {
          this.$message.warning(
            `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
              files.length + fileList.length
            } 个文件`
          );
        },
        beforeRemove(file, fileList) {
          return this.$confirm(`确定移除 ${file.name}?`);
        },
        // param是自带参数。
        // this.$refs.uploadFile.submit()会自动调用 httpRequest方法.在里面取得file
        uploadSectionFile(param) {
          var fileObj = param.file;
          // FormData 对象
          var form = new FormData();
          // 文件对象
          form.append("file", fileObj);
          console.log("dfdg:");
          console.log(form);
          let arr = [];
          this.fileList.forEach((element) => {
            let formData = new FormData();
            formData.append("file", element);
            arr.push(formData);
          });
        },
        // fileList 是文件列表发生变化后,返回的修改后的列表对象,这里直接赋值
        fileChange(file, fileList) {
          console.log(file.raw);
          // 改变文件列表
          this.fileList = fileList;
        },
      },
    };
    </script>
    
    <style scoped lang="scss">
    .hidden-Btn {
      /deep/ .el-upload {
        display: none;
      }
    }
    </style>
  • 相关阅读:
    Web前端一种动态样式语言-- Less
    Windows下查看8080进程及结束进程命令
    Java应用程序实现屏幕的"拍照"
    批处理命令 BAT备份MySQL数据库
    LineNumberReader类
    SAXReader
    linux打包压缩命令汇总
    Jquery获取选中的checkbox的值
    Jquery_联系电话正则表达式
    CSS overflow 属性
  • 原文地址:https://www.cnblogs.com/yiliangmi/p/15305186.html
Copyright © 2011-2022 走看看