目录
1. 看elementui /element-plus 官网案例
2. html部分: 把官网上的搬下来,最好加一个按钮,上传到服务器(后端)
3.3 点击【上传服务器】,触发UpdateFilesData 方法
案例:

下面内容只表示怎么上传附件且怎么上传到服务器,表格的代码不呈现。
<el-card> <el-upload drag class="upload-demo" ref="upload" action="#" :on-change="ChangeImage" :file-list="files" :auto-upload="false" :show-file-list="true" > <i class="el-icon-upload">i> <div class="el-upload__text">将文件拖到此处,或<em>点击上传em>div> el-upload> el-card> <el-button style="margin-left: 10px;" type="success" @click="UpdateFilesData" >上传到服务器el-button>ps:
on-change: 上传文件时调用
file-list: 上传的文件列表,数组格式,在data里面定义变量
auto-upload: 是否在选取文件后立即进行上传
show-file-list:是否显示已上传文件列表
- data(){
- return:{
- files: [],
- formData: null, //附件上传FormData
- }
- }
- ChangeImage(file, filelist) {
- console.log(file, "on-change事件", filelist);
- this.files = filelist;
- },
打印结果:

- 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); //接口返回成功后,调 刷新页面的方法
- }
- });
- },