目录

  • 前言:
  • 具体实现思路:
  • 步骤:
    • 1. 展示美食杰编辑个人资料效果
    • 2. 引入element-ui
    • 3. 代码
  • 总结:

前言:

本文给大家讲解,美食杰项目中 实现编辑个人资料页的效果,和具体代码。


具体实现思路:

  1. 在个人主页中点击编辑个人资料进入当前页
  2. 引入element-ui进行图片的上传
  3. 修改完所有信息后
  4. 点击保存会对个人资料进行更改
  5. 并跳转至个人主页

步骤:

1. 展示美食杰编辑个人资料效果

美食杰编辑个人资料


2. 引入element-ui

点击跳转至 element-ui 中 Upload 上传使用方法:https://element.eleme.cn/#/zh-CN/component/upload

点击跳转至 element-ui 中 MessageBox 弹框使用方法:https://element.eleme.cn/#/zh-CN/component/message-box


3. 代码

element-ui 中 Upload 上传 功能要单独封装一个组件,因为它需要在发布菜谱页面中使用
其他的在代码中写有注释,按注释理解即可,不了解的也可以在评论区里问我,或者私聊我询问

  • 修改个人资料页
<template><div class="box"><div class="one"><p>修改头像</p><!-- action 图片上传的地址 :imageUrl 显示图片传递到子组件 @res-url 子传父--><upload-imgaction="/api/upload/?type=user":imageUrl="avatar"@res-url="image":imgMaxWidth="210"></upload-img></div><div class="two"><p>修改名称</p><input type="text" v-model="name" /></div><div class="three"><p>个人简介</p><el-inputtype="textarea":rows="5":cols="500"placeholder="请输入内容"v-model="sign"class="textarea"v-if="$store.getters.islogin"></el-input></div><button class="btn" @click="save">保存</button></div>
</template><script>
// 引入修改个人资料接口
import { userEdit } from "@/connector/api";
import UploadImg from "@/views/uploadImg/upload_img.vue";
export default {components: {// 子组件UploadImg,},data() {return {// 显示图片avatar: "",// 账号名称name: "",// 个人简介sign: "",};},// 事件监听,跳转页面时触发watch: {$route: {handler() {// 获取到内容并进行赋值this.avatar = this.$store.state.userInfo.avatar;this.name = this.$store.state.userInfo.name;this.sign = this.$store.state.userInfo.sign;},immediate: true,},},methods: {// 点击修改async save() {// 修改个人资料接口const data = await userEdit({avatar: this.avatar,name: this.name,sign: this.sign,});// console.log(data);if (data.code === 0) {// 跳转至个人主页window.location.href = "/MyHomepage";}},image(data) {// 子传父,触发的事件,改变显示的图片this.$nextTick(function () {this.avatar = data.resImgUrl;// console.log(this.avatar);this.$forceUpdate();});},},
};
</script><style lang="scss" scoped>
.box {width: 990px;background-color: #fff;margin: 20px auto 0;padding: 20px;div {display: flex;margin: 10px 0;p {margin-right: 20px;}.textarea {width: 200px;height: 70px;}}.btn {padding: 10px 20px;background-color: rgb(77, 145, 247);border: none;}
}
</style>
  • 上传图片页
<template><el-uploadclass="avatar-uploader":action="action":show-file-list="false":on-success="handleAvatarSuccess":before-upload="beforeAvatarUpload"><imgv-if="url":src="url"class="avatar":style="{ maxWidth: imgMaxWidth + 'px' }"/><i v-else class="el-icon-plus avatar-uploader-icon"></i></el-upload>
</template><script>
export default {props: {// 接收父组件传递过来的事件action: String, // 图片上传的地址imageUrl: {// 显示的图片type: String,default: "",},imgMaxWidth: {//图片的宽type: [Number, String],default: "auto",},maxSize: {//图片格式的大小type: Number,default: 2,},},data() {return {// 把显示的图片赋值给 urlurl: this.imageUrl,};},mounted() {// 把显示的图片赋值给 urlthis.url = this.imageUrl;},methods: {// 上传成功时执行的事件handleAvatarSuccess(res, file) {// console.log(res, file);if (res.code === 1) {// 返回失败的结果this.$message({message: res.mes,type: "warning",});return;}// 获取上传成功后的图片地址this.url = URL.createObjectURL(file.raw);this.$emit("res-url", {// 子传父,触发// resImgUrl:res.data.urlresImgUrl: res.data.url,});},// 上传文件前beforeAvatarUpload(file) {// 图片上传的格式const isJPG = file.type === "image/jpeg" || "image/gif";// 图片上传的大小const isLt2M = file.size / 1024 / 1024 < this.maxSize;// 判断if (!isJPG) {this.$message.error("上传头像图片只能是 JPG 格式!");}if (!isLt2M) {this.$message.error("上传头像图片大小不能超过 2MB!");}// 返回return isJPG && isLt2M;},},
};
</script><style lang="scss" scoped>
.avatar-uploader .el-upload {border: 1px dashed #d9d9d9;border-radius: 6px;cursor: pointer;position: relative;overflow: hidden;
}
.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;
}
.avatar {width: 178px;height: 178px;display: block;
}
</style>

总结:

以上就是 美食杰项目 中 编辑个人资料页的具体实现方法,不懂得也可以在评论区里问我或私聊我询问,以后会持续发布一些新的功能,敬请关注。
我的其他文章:https://blog.csdn.net/weixin_62897746?type=blog

美食杰项目 -- 编辑个人资料(六)相关推荐

  1. 美食杰项目(六)发布菜谱

    目录 前言 具体效果 实现的具体功能 代码思路 主要引入的element ui的具体样式 相关代码 总结: 前言 本节给大家讲的是美食杰项目的发布菜谱的主要功能和具体样式,希望我的代码能够帮助到你,也 ...

  2. 美食杰项目 -- 个人主页(四)

    目录 前言: 具体实现思路: 步骤: 1. 展示美食杰菜谱大全效果 2. 引入element-ui 3. 代码 总结: 前言: 本文给大家讲解,美食杰项目中 实现个人主页的效果,和具体代码. 具体实现 ...

  3. 美食杰项目 -- 发布菜谱(七)

    目录 前言: 具体实现思路: 步骤: 1. 展示美食杰发布菜谱页效果 2. 引入element-ui 3. 代码 总结: 前言: 本文给大家讲解,美食杰项目中 实现发布菜谱页的效果,和具体代码. 具体 ...

  4. 美食杰项目(五)个人主页

    目录 前言 具体效果 代码思路 相应组件 具体代码 总结: 前言 本节给大家讲的是美食杰项目的个人主页的主要功能和具体样式,希望我的代码能够帮助到你,也希望你能够看懂 具体效果 作品和收藏的具体样式( ...

  5. 美食杰项目---个人页和他人主页

    美食杰项目-个人页和他人主页 跳转个人主页. 跳转他人主页. 点击他人关注或取消关注. 点击他人菜谱,粉丝及关注. 效果图展示 点击跳转到个人空间,个人空间没有关注和取消关注. 点击个人跳转如下图: ...

  6. 美食杰项目 -- 菜品信息(五)

    目录 前言: 具体实现思路: 步骤: 1. 展示美食杰菜谱大全效果 2. 引入element-ui 3. 代码 总结: 前言: 本文给大家讲解,美食杰项目中 实现菜品信息页的效果,和具体代码. 具体实 ...

  7. VUE——超详细的美食杰项目—菜谱详情

    VUE--超详细的美食杰项目-菜谱详情 效果介绍 detail.vue detail-header.vue detail-content.vue comment.vue 效果介绍 实现页面数据渲染,还 ...

  8. 美食杰项目(四)美食详情页

    目录 前言: 具体样式 实现效果 代码思路 相应的组件 相关代码 总结: 前言: 本节给大家讲的是美食杰项目的美食详情页的主要功能和具体样式,希望我的代码能够帮助到你,也希望你能够看懂有所收获 具体样 ...

  9. 美食杰项目 -- 总结(八)

    目录 前言: 项目效果展示 引入插件说明 后台请求代码编写 package.json页面代码 main.js页面代码 总结 前言: 经过大概一周时间的兴勤劳作,美食杰项目的所有代码已经全部编写完成,功 ...

最新文章

  1. 通信系统计算机仿真上机实验报告,昆明理工大学计算机仿真实验.docx
  2. 了解机器学习回归的3种最常见的损失函数
  3. 6. Qt 信号与信号槽(4)-QMetaObjectPrivate
  4. 艾伟:详解AJAX核心 —— XMLHttpRequest 对象 (下)
  5. [设计模式] 15.Command 命令模式
  6. 第三次学JAVA再学不好就吃翔(part46)--Scanner类
  7. leetcode122. 买卖股票的最佳时机 II
  8. 99%的程序员都在用Lombok,原理竟然这么简单?我也手撸了一个!|建议收藏
  9. ubuntu三种添加环境变量的方法
  10. 吴恩达深度学习4.2练习_Convolutional Neural Networks_Happy House Residual Networks
  11. 免费UNIX体验中心
  12. 201703-2-学生排队
  13. 29-3 union的使用
  14. MapInfo MIF/MID文件格式描述
  15. canvas实现数字雨
  16. 原代码审计笔记-安全缺陷
  17. Tableau——制作维恩图(交集图)
  18. 【实习日志】The last Day总结篇
  19. 家乐福中国独立上市,是苏宁的一颗“定心丸”吗?
  20. charles + 雷电模拟器4进行手机抓包

热门文章

  1. w8计算机主程序在哪里,Win8应用程序在哪里?win8应用程序快速打开方法
  2. 电商业务梳理1-导流
  3. 安装windows第一次进系统卡在“正在启动windows”
  4. UDP全双工通信的实现
  5. 芋道源码的周八(2018.03.25)
  6. 奇偶校验器真值表_奇偶校验器
  7. js 红宝书学习笔记精简版 第一至三章
  8. 计算机科学导论学习笔记(三)
  9. C#编程基础——综合项目实践:KTV点歌系统项目第五课:制作歌曲管理窗体
  10. 支付宝“集福”第六年,掀起新年社交营销新浪潮