新版网站上线宝安自适应网站建设

张小明 2026/1/9 9:45:10
新版网站上线,宝安自适应网站建设,怎么在自己电脑上建网站,百度在线入口前言#xff1a;为什么图片上传功能如此重要#xff1f;在现代Web应用中#xff0c;图片上传功能几乎是每个后台管理系统的标配。从用户头像到产品图片#xff0c;从文章配图到证件照片#xff0c;图片上传与回显功能无处不在。今天#xff0c;我将通过一个实际的名医管理…前言为什么图片上传功能如此重要在现代Web应用中图片上传功能几乎是每个后台管理系统的标配。从用户头像到产品图片从文章配图到证件照片图片上传与回显功能无处不在。今天我将通过一个实际的名医管理系统案例带你彻底掌握Vue Element UI中图片上传与回显的实现技巧一、项目概览名医管理系统让我们了解一下这个项目的背景。这是一个医院的名医信息管理系统主要功能包括名医信息的增删改查按科室、姓名、职称搜索头像上传与显示富文本编辑的医生简介其中最核心也最容易出问题的就是头像上传与回显功能接下来我们就重点攻克这个难题二、图片上传功能实现详解2.1 模板部分el-upload组件配置vueel-form-item label头像上传 propheadUrl el-upload action# classavatar-uploader :file-listfileList :limit1 :on-changehandleFileChange :before-uploadbeforeAvatarUpload :on-removehandleRemove :auto-uploadfalse :show-file-listfalse div classimage-container !-- 回显已上传的图片 -- img v-ifthis.form.headUrl :srcthis.form.headUrl classavatar !-- 删除图标 -- i v-ifthis.form.headUrl classel-icon-delete delete-icon click.stophandleRemove()/i !-- 上传图标 -- i v-else classel-icon-plus avatar-uploader-icon/i /div div slottip classel-upload__tip 高宽100*100px, 格式:jpg/png, 大小不超过200kb, 统一底色 /div /el-upload /el-form-item关键配置解析action#设置为#因为我们不直接提交到action URL:auto-uploadfalse关闭自动上传由我们手动控制:show-file-listfalse不显示默认的文件列表我们自定义样式:limit1限制只能上传一个文件2.2 样式设计美观的上传区域scss.avatar-uploader .el-upload { border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; width: 178px; height: 178px; } .avatar-uploader .el-upload:hover { border-color: #409EFF; // 悬浮时边框变蓝色 } .avatar-uploader-icon { font-size: 28px; color: #8c939d; width: 178px; height: 178px; line-height: 178px; text-align: center; border: 1px dashed #d9d9d9; } .avatar { width: 178px; height: 178px; display: block; } .image-container { position: relative; width: 178px; height: 178px; } .delete-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 20px; cursor: pointer; background-color: rgba(255, 255, 255, 0.8); border-radius: 50%; padding: 5px; }三、核心功能实现代码3.1 文件上传处理javascript// 文件选择后的处理 handleFileChange(file) { const fileLists new FormData(); fileLists.append(file, file.raw); // 获取原始文件对象 uploadFile(fileLists) .then((res) { // 拼接完整的图片URL this.form.headUrl process.env.VUE_APP_BASE_API res.returnData.fileName; // 更新fileList用于显示 this.fileList.push({ name: res.returnData.fileName, url: process.env.VUE_APP_BASE_API res.returnData.fileName, }); }) .catch((error) { this.$message.error(上传失败); }); }, // 文件上传前的验证 beforeAvatarUpload(file) { const isJPG file.type image/jpeg || file.type image/png; const isLt2M file.size / 1024 / 1024 2; if (!isJPG) { this.$message.error(上传的图片只能是 JPG/PNG 格式!); } if (!isLt2M) { this.$message.error(上传的图片大小不能超过 2MB!); } return isJPG isLt2M; }, // 移除文件 handleRemove(file, fileList) { this.fileList []; // 清空文件列表 this.form.headUrl ; // 清空表单中的图片URL }3.2 列表页图片回显vueel-table-column label头像 aligncenter propheadUrl template slot-scopescope img :srcscope.row.headUrl width50 height50 / /template /el-table-column3.3 编辑时数据回填javascripthandleUpdate(row) { this.reset(); const id row.id || this.ids; getDoctor(id).then((response) { this.form response.returnData; // 处理性别显示 if (this.form.sex 0) { this.form.sex 女; } else { this.form.sex 男; } // 关键处理图片回显 if (this.form.headUrl ! null this.form.headUrl ! ) { this.fileList [ { url: this.form.headUrl }, // 设置fileList以显示图片 ]; } else { this.fileList []; }; this.open true; this.title 修改名医; }); }四、实战技巧与避坑指南4.1 图片路径处理技巧javascript// 错误做法直接使用相对路径 this.form.headUrl res.returnData.fileName; // 正确做法拼接完整的URL this.form.headUrl process.env.VUE_APP_BASE_API res.returnData.fileName;4.2 表单数据重置javascript// 重置表单数据避免数据残留 reset() { this.form { id: null, depName: null, name: null, sex: null, birthday: null, title: null, briefIntroduction: null, introduction: null, headUrl: null, // 清空图片URL status: null, }; this.fileList []; // 清空文件列表 this.resetForm(form); }4.3 新增和编辑的差异化处理javascript/** 新增按钮操作 */ handleAdd() { this.reset(); this.headUrl ; this.fileList []; // 新增时清空文件列表 this.form.status 1; this.open true; this.title 添加名医; } /** 修改按钮操作 */ handleUpdate(row) { this.reset(); // ... 获取数据并回填 if (this.form.headUrl ! null this.form.headUrl ! ) { this.fileList [{ url: this.form.headUrl }]; // 编辑时设置fileList } // ... }五、功能演示效果新增名医点击上传区域选择图片图片立即显示在区域内编辑名医进入编辑界面已上传的头像自动显示删除图片点击图片上的删除图标清除已选图片列表显示头像以50×50像素的缩略图显示在表格中六、常见问题解决方案Q1图片上传后为什么没有立即显示A确保正确设置了this.form.headUrl并且路径是完整的URL。Q2编辑时图片显示不出来A检查fileList是否正确设置确保fileList[0].url是正确的图片路径。Q3如何限制图片大小和格式A使用beforeAvatarUpload方法进行验证如代码示例所示。Q4如何实现图片删除功能A监听删除图标的点击事件清空fileList和form.headUrl。七、总结与扩展通过这个实战案例我们学会了使用Element UI的el-upload组件实现图片上传通过fileList控制图片的显示实现图片的上传、预览、删除完整功能处理编辑时的数据回填扩展思考如何实现多图上传如何添加图片裁剪功能如何实现图片拖拽排序希望这篇文章能帮助你彻底掌握Vue中的图片上传与回显功能如果你有任何问题或建议欢迎在评论区留言讨论。实战建议最好的学习方式就是动手实践建议你按照本文的步骤在自己的项目中实现一遍这个功能。遇到问题不要怕这正是成长的机会技术成长之路从会用到精通从复制代码到理解原理从解决问题到优化方案。每一步都值得认真对待加油
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企业网站的种类网址大全浏览器

一、课设课题概述1. 课题背景旅行商问题(TSP)是组合优化领域经典的 NP 难问题,核心需求是:给定若干城市及城市间距离,寻找一条从起点出发、遍历所有城市仅一次、最后返回起点的最短闭合路径。本次课设采用状态压缩动态…

张小明 2026/1/8 19:09:18 网站建设

湖南备案网站建设方案书WordPress内网外网访问

League Director是一款专门用于从英雄联盟游戏回放中制作专业级视频的开源工具。它提供了强大的时间轴编辑、摄像机控制和特效渲染功能,让玩家能够将游戏中的精彩瞬间打造成电影级别的作品。 【免费下载链接】leaguedirector League Director is a tool for staging…

张小明 2025/12/29 6:28:33 网站建设

校园网站建设培训班网站采集来源

摘 要 随着医疗行业的不断发展,医疗设备的高效维护对于保障医疗服务质量和安全至关重要。一款功能全面的医疗设备维护平台应运而生。平台基于Java语言、Spring Boot框架和MySQL数据库开发,涵盖了医护人员、工程师、报修类型、设备类型、医疗设备、任务…

张小明 2025/12/28 18:17:27 网站建设

深圳做企业网站淘宝网店运营策划方案

摘要 随着信息技术的快速发展,企业对员工工作量的科学管理和精准统计需求日益增长。传统的人工统计方式效率低下且容易出错,无法满足现代企业高效管理的需求。基于此,设计并实现一套智能化的工作量统计系统成为企业管理的重要方向。该系统旨在…

张小明 2026/1/6 1:18:46 网站建设