vue+element upload上传带参数的实例
作者:QQ帝国 发布时间:2024-05-09 09:32:56
标签:element,upload,上传,参数
element upload上传带参数
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">保存</el-button>
<el-upload
class="upload-demo"
ref="upload"
:action="action()"
:on-preview="handlePreview"
:before-upload="beforeUpload"
:data="uploadData"
:on-error = "error"
:on-success="successResave"
:on-remove="handleRemove"
:file-list="fileList"
:auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
</el-upload>
data里面参数
uploadData:null,
methods里面
action(){
return this.portC+"uplodResultsScore"
},
//上传
submitUpload() {
this.$refs.upload.submit();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
beforeUpload (file) {
this.uploadData = {dstype:this.proType,name:this.mobanname,dsmark:this.value5,};
console.log(this.uploadData)
let promise = new Promise((resolve) => {
this.$nextTick(function () {
resolve(true);
});
});
return promise; //通过返回一个promis对象解决
},
//上传成功钩子
successResave(response, file, fileList){
console.log(response)
if(response.code==10001){
alert("保存成功")
this.proType="";
this.mobanname="";
this.value5="";
this.$router.push("/moban")
}
},
//失败钩子
error(response, file, fileList){
console.log(response)
},
//选择家化实效
selectType(val){
console.log(val)
if(val==1){
this.$router.push("/new")
}else{
this.$router.push("/new1")
}
},
效果图
element上传函数带参数,自定义传参
下面这是标签
可以看出来 :
http-request="(params) =>beforeMasterPictureUpload(params,‘ruleForm',fileList0)"
http-request 传递参数的方法 是可以这样写的,其他方法一样,但是如果写错少些可能会导致覆盖原来的方法。
<el-upload :class="{hidesse:hideUpload0,'avatar-uploader':true}"?
?? ??? ??? ??? ??? ??? ?multiple action="这里不需要填或者随便写"
? ? ? ? ? ? ? ? ? ? ? ? list-type="picture-card" :before-upload="beforeAvatarUpload"
? ? ? ? ? ? ? ? ? ? ? ? :on-preview="(params) =>handlePictureCardPreview(params,'ruleForm',fileList0)"
? ? ? ? ? ? ? ? ? ? ? ? :http-request="(params) =>beforeMasterPictureUpload(params,'ruleForm',fileList0)"
? ? ? ? ? ? ? ? ? ? ? ? :on-change="(params,fileList) =>onChangeMaster(params,fileList,'ruleForm','fileList0')"
? ? ? ? ? ? ? ? ? ? ? ? :on-exceed="OnExceed"
? ? ? ? ? ? ? ? ? ? ? ? :on-remove="(params) =>handleRemove(params,'ruleForm',fileList0,'fileList0')" :limit="5"
? ? ? ? ? ? ? ? ? ? ? ? :file-list="fileList0" @click="titext">
? ? ? ? ? ? ? ? ? ? ? ? <i class="el-icon-plus"></i>
? ? ? ? ? ? ? ? ? ? </el-upload>
下面是JS 接受方法 同样 我们拿 http-request 这个方法做例子
beforeMasterPictureUpload(params, fromData, prop) {
?? ?console.log('----aaaa', this.fileList);
? ? console.log('file', params, fromData, prop);
}
大家可以输出看看结果 是否有拿到你上面传递过来的字符串或者是值
我将源码放上
HTML标签
<el-upload :class="{hidesse:hideUpload0,'avatar-uploader':true}"?
?? ??? ??? ??? ??? ??? ?multiple action="这里不需要填或者随便写"
? ? ? ? ? ? ? ? ? ? ? ? list-type="picture-card" :before-upload="beforeAvatarUpload"
? ? ? ? ? ? ? ? ? ? ? ? :on-preview="(params) =>handlePictureCardPreview(params,'ruleForm',fileList0)"
? ? ? ? ? ? ? ? ? ? ? ? :http-request="(params) =>beforeMasterPictureUpload(params,'ruleForm',fileList0)"
? ? ? ? ? ? ? ? ? ? ? ? :on-change="(params,fileList) =>onChangeMaster(params,fileList,'ruleForm','fileList0')"
? ? ? ? ? ? ? ? ? ? ? ? :on-exceed="OnExceed"
? ? ? ? ? ? ? ? ? ? ? ? :on-remove="(params) =>handleRemove(params,'ruleForm',fileList0,'fileList0')" :limit="5"
? ? ? ? ? ? ? ? ? ? ? ? :file-list="fileList0" @click="titext">
? ? ? ? ? ? ? ? ? ? ? ? <i class="el-icon-plus"></i>
? ? ? ? ? ? ? ? ? ? </el-upload>
JS语句
// 主图上传之前
? ? ? ? ? ? ? ? beforeAvatarUpload(file) {
? ? ? ? ? ? ? ? ? ? console.log('主图上传之前:', file)
? ? ? ? ? ? ? ? ? ? const idJPG =
? ? ? ? ? ? ? ? ? ? ? ? file.type === "image/jpeg" || "image/gif" || "image/png" || "image/bmp";
? ? ? ? ? ? ? ? ? ? if (!idJPG) {
? ? ? ? ? ? ? ? ? ? ? ? this.$message.error(
? ? ? ? ? ? ? ? ? ? ? ? ? ? '123123'
? ? ? ? ? ? ? ? ? ? ? ? );
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? return idJPG;
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? // 图片触发
? ? ? ? ? ? ? ? onChangeMaster(file, fileList, fromData, prop) {
? ? ? ? ? ? ? ? ? ? // fileList 当前上传框的数据?
? ? ? ? ? ? ? ? ? ? switch (prop) {
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList0':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload0 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList1':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload1 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList2':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload2 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList3':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload3 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList4':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload4 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 'fileList5':
? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload6 = fileList.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? console.log('判断一次', file, fileList, this.fileList0)
? ? ? ? ? ? ? ? ? ? if (this.inde > 0) {
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? //let existFile = fileList.slice(0, fileList.length - 1).find(f => f.name === file.name)
? ? ? ? ? ? ? ? ? ? ? ? //if (existFile) {
? ? ? ? ? ? ? ? ? ? ? ? ? ?// this.inde++
? ? ? ? ? ? ? ? ? ? ? ? ? // ?console.log(existFile)
? ? ? ? ? ? ? ? ? ? ? ? ? // ?this.$message.error(
? ? ? ? ? ? ? ? ? ? ? ? ? // ? ? ?'图片重复' + existFile.name
? ? ? ? ? ? ? ? ? ? ? ? // ? ?);
? ? ? ? ? ? ? ? ? ? ? ? // ? ?// fileList.pop()
? ? ? ? ? ? ? ? ? ? ?// ? }
? ? ? ? ? ? ? ? ? ? ? ? this[prop] = fileList
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? // 图片个数超出限制
? ? ? ? ? ? ? ? OnExceed(file, fileList) {
? ? ? ? ? ? ? ? ? ? this.$message.error(
? ? ? ? ? ? ? ? ? ? ? ? '每个选项最多上传5张', "error"
? ? ? ? ? ? ? ? ? ? );
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? handleRemove(params, fileList, prop, item) {
? ? ? ? ? ? ? ? ? ? prop.forEach((obj, index) => {
? ? ? ? ? ? ? ? ? ? ? ? console.log(index, obj)
? ? ? ? ? ? ? ? ? ? ? ? if (params.uid == obj.uid) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? prop.splice(index, 1)
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ? ? console.log('删除后的数组', prop);
? ? ? ? ? ? ? ? ? ? setTimeout(() => {
? ? ? ? ? ? ? ? ? ? ? ? switch (item) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList0':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload0 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList1':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload1 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList2':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload2 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList3':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload3 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList4':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload4 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? case 'fileList5':
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { this.hideUpload6 = prop.length >= this.limitCount; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? console.log(prop.length >= this.limitCount)
? ? ? ? ? ? ? ? ? ? }, 1000)
? ? ? ? ? ? ? ? ? ? // this.fileList = [];
? ? ? ? ? ? ? ? ? ? this.dialogImageUrl = '';
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? handlePictureCardPreview(file, fromData, prop) {
? ? ? ? ? ? ? ? ? ? console.log(file, fromData, prop)
? ? ? ? ? ? ? ? ? ? this.dialogImageUrl = file.url;
? ? ? ? ? ? ? ? ? ? this.dialogVisible = true;
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? beforeMasterPictureUpload(params, fromData, prop) {
? ? ? ? ? ? ? ? ? ? console.log('----aaaa', this.fileList);
? ? ? ? ? ? ? ? ? ? console.log('file', params, fromData, prop);
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? },
这是需求案列
来源:https://qiaoyajun.blog.csdn.net/article/details/86354267
0
投稿
猜你喜欢
- 1.C++ 代码Demo.h#pragma oncevoid GeneratorGaussKernel(int ksize, float s
- 如何做一个树状展开视图来显示自己的记录结构?在SQL中,如何做一个可收起和展开树状结构图?就是资源管理器左栏的那种效果。这要用到Data s
- 一、判断大型网站的标准1、pv(page views)网页的浏览量概念 一个网站所有的页面,在24小时内被访问的总的次数。千万级别,百万级别
- 如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:wget -q
- 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手。博客园的博客有个功
- 以下是Python基础学习内容的学习笔记的全部内容,非常的详细,如果你对Python语言感兴趣,并且针对性的系统学习一下基础语言知识,下面的
- 介绍反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型
- 很多开发人员在使用MySQL时经常会在部分列上进行函数计算等,导致无法走索引,在数据量大的时候,查询效率低下。针对此种情况本文从MySQL5
- 本文实例讲述了MySQL 表数据的导入导出操作。分享给大家供大家参考,具体如下:数据导出1. 使用 SELECT ..
- 一、删除数据库日志文件的方法你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错。然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就
- windows系统下安装Pyinstallercmd下输入指令pip install PyInstallerPyinstaller的使用进入
- names=["zhao00","qian01","sun02","l
- 有时需要根据项目的实际需求向spider传递参数以控制spider的行为,比如说,根据用户提交的url来控制spider爬取的网站。在这种情
- 一. 打印图片属性、设置图片存储路径代码如下:#打印图片的属性、保存图片位置import cv2 as cvimport nump
- 前言使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器。 但
- 用ASP编写虚拟社区、网上购物等程序时,Application和Session对象具有举足轻重的作用,能够灵活合理地运用这两个对
- (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,
- 本文为大家分享了php运行环境搭建安装图文教程,供大家参考,具体内容如下安装apache:1,不要安装到有中文的目录中:2,尽量将apach
- 1.分析 我们在用 php 制作网站时,分类是很重要的,在分类下面又再分类这第二个分类称为次分类,而现在大多
- 1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过