当前位置: 首页 > news >正文

avue---upload 图片上传

<template><div class="formClass"><!-- :upload-after="uploadAfter" 可按需添加上传后钩子,这里先保留基础结构上传相关钩子:upload-before/upload-success/upload-exceed 等可根据需求补充 
uploadSized--超出大小    uploadExceed--超出数量--><avue-form ref="dataForm":option="options"v-model="dataForm":upload-before="handleUploadBefore":upload-success="handleUploadSuccess":upload-sized="uploadSized":upload-exceed="uploadExceed":upload-error="handleUploadError"></avue-form></div>
</template><script>
export default {name: 'YourComponentName', // 自定义组件名data() {return {// 表单数据dataForm: {omOrderNum: '', // 销售单号itemName: '', // 产品problemDescription: '', // 问题描述thumbUrl: [] // 图片,用于上传组件},// Avue 表单配置options: {// 基本属性配置align: 'left', // 表格列对齐方式headerAlign: 'left',border: false,emptyBtn: false,submitBtn: false,addBtn: false,viewBtn: false,delBtn: false,editBtn: false,columnBtn: false,refreshBtn: false,labelSuffix: '', // 删除表单 label 后缀 冒号tip: false, // 取消表格上方的多选提示labelWidth: 'auto',menuBtn: true,column: [// 其他列配置可继续在这补充...{label: '图片',prop: 'thumbUrl',type: 'upload',dataType: 'object',listType: 'picture-card',accept: 'image/*',limit: 3, // 最多上传 3 张fileSize: 5000, // 单张不超过 5M(5000KB)span: 24,propsHttp: {res: 'data' // 接口返回中文件地址所在字段},tip: '只能上传图片,且单张大小不超过5M',action: 'web/common/file/upload', // 上传接口地址// autoUpload: false // 若需手动触发上传可开启}]}}},methods: {// 上传前拦截,进行手动调接口,因为要获取接口返回值handleUploadBefore(file, done, loading, column) {const formData=new FormData()formData.append('file',file)upload(formData).then((res)=>{loading(false)  //用于手动关闭loading加载(这个组件,每次上传都默认打开loading)if(res.code==200){this.uploadFiles.push(res.data) //存入接口返回值,用于做其他操作let tempUrl={label:res.data.fileOname,value:res.data.fileUrl}this.dataForm.thumbUrl.push(tempUrl)  //用于页面渲染}})},// 上传成功钩子handleUploadSuccess(response, file, fileList) {console.log('上传成功,接口返回:', response);console.log('当前已上传文件列表:', fileList);// 可在此处理返回数据,比如更新 dataForm.thumbUrl 等},// 文件大小超出限制钩子uploadSized(file, fileList) {this.$message.error(`文件 ${file.name} 大小超过 5M 限制`);},// 文件数量超出限制钩子uploadExceed(files, fileList) {this.$message.error(`最多只能上传 3 张图片,已选择 ${files.length} 张,当前已上传 ${fileList.length} 张`);},// 上传失败钩子handleUploadError(error, file, fileList) {console.error('上传失败:', error);this.$message.error('文件上传失败,请重试');},}
}
</script>

用于记录,本人记性不大好。哈哈哈哈哈

http://www.lryc.cn/news/611339.html

相关文章:

  • Vue3核心语法进阶(Props)
  • 从汇编角度揭秘C++构造函数(1)
  • 【Lua】题目小练8
  • 超越注意力机制
  • Augmodo AI:零售门店智能货架管理平台
  • 8月5号打卡
  • Java: jwt 入门介绍(Introduction to JSON Web Tokens)
  • ENS-317 Modbus TCP / 通用模式网关
  • Shader开发(七)创建第一个Shader项目
  • 完整设计 之2: 变形金刚机器人Transformer
  • 最优化中常见的优化理论
  • Guava 与 Caffeine 本地缓存系统详解
  • Windows 11 使用Windows Hello使用人脸识别登录失败,重新录入人脸识别输入PIN后报Windows Hello安装程序白屏无响应的问题解决
  • nodejs 编码初体验
  • 艺术性与真实感并存:FLUX.1 Krea [dev] 开源模型速览
  • muc中的电压调节和电源控制回路?
  • 网络相关(AI回答)
  • Linux的NFS与Autofs配置指南
  • linux定时器管理 timer_*系统调用及示例
  • table行内--图片预览--image
  • 并发编程的三要素是什么
  • Claude Code实战体验:AI智能编程助手如何重塑开发工作流?
  • 鸿蒙开发--web组件
  • Spring之【详解FactoryBean】
  • 深度学习-卷积神经网络CNN-填充与步幅
  • 27-数据仓库与Apache Hive-2
  • 二维树状数组
  • 机器学习之线性回归与逻辑回归
  • 广州客户 戴尔R720服务器 liunx系统 RAID5无损升级扩容
  • 【递归完全搜索】USACO Bronze 2023 January - 牛栏降温 IIAir Cownditioning II