el-upload 上传附件(拆解步骤)

目录

1. 看elementui /element-plus 官网案例 

2. html部分: 把官网上的搬下来,最好加一个按钮,上传到服务器(后端)

3. js 部分:

     3.1  首先,先定义一个变量,files 

     3.2 当上传图片时,触发ChangeImage方法

     3.3   点击【上传服务器】,触发UpdateFilesData 方法


案例:

el-upload 上传附件(拆解步骤)_第1张图片

1. 看elementui /element-plus 官网案例 

下面内容只表示怎么上传附件且怎么上传到服务器,表格的代码不呈现。

2. html部分: 把官网上的搬下来,最好加一个按钮,上传到服务器(后端)

  
          
            
            
将文件拖到此处,或点击上传
上传到服务器

ps:

on-change:  上传文件时调用

file-list: 上传的文件列表,数组格式,在data里面定义变量

auto-upload: 是否在选取文件后立即进行上传

show-file-list:是否显示已上传文件列表

3. js 部分: 

    3.1  首先,先定义一个变量,files 
data(){
  return:{
    files: [],
    formData: null, //附件上传FormData
  }
}
3.2 当上传图片时,触发ChangeImage方法
ChangeImage(file, filelist) {
      console.log(file, "on-change事件", filelist);
      this.files = filelist;
    },

打印结果:

el-upload 上传附件(拆解步骤)_第2张图片

3.3   点击【上传服务器】,触发UpdateFilesData 方法
UpdateFilesData() {
      debugger;
      this.formData = new FormData();
      this.files.forEach((item) => {
        if (!(!item.raw && item.url.indexOf("blob") === -1)) {
          this.formData.append("files", item.raw);
        }
      });
      this.formData.append("FileType", 1); //属于第几个附件上传控件
      this.FilesUpdate(); //调用接口
    },

/*
*  调后端的接口(UploadFile),带参数formData
*/

FilesUpdate() {
      let _this = this;
      this.formData.append("DataID", this.Eid); //属于哪条主表数据
      this.formData.append("MenuID", localStorage.getItem("MenuID")); //属于哪个菜单下
      _this.$EquiApi.UploadFile(this.formData).then((res) => {
        if (res.data.code == 200) {
          this.Refresh(res); //接口返回成功后,调 刷新页面的方法
        }
      });
    },

你可能感兴趣的:(elementui,element-plus,vue,vue.js,前端,javascript)