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

【第26章】Vue实战篇之用户信息修改

文章目录

  • 前言
  • 一、界面搭建
    • 1. UserInfo.vue
  • 二、更新用户信息
    • 1.绑定用户信息
    • 2.更新接口
    • 3.更新事件
      • 3.1 添加事件
      • 3.2 触发事件
  • 总结


前言

这里来学习用户信息的修改。


一、界面搭建

1. UserInfo.vue

<script setup>
import { ref } from 'vue'
const userInfo = ref({id: 0,username: 'zhangsan',nickname: 'zs',email: 'zs@163.com',
})
const rules = {nickname: [{ required: true, message: '请输入用户昵称', trigger: 'blur' },{pattern: /^\S{2,10}$/,message: '昵称必须是2-10位的非空字符串',trigger: 'blur'}],email: [{ required: true, message: '请输入用户邮箱', trigger: 'blur' },{ type: 'email', message: '邮箱格式不正确', trigger: 'blur' }]
}
</script>
<template><el-card class="page-container"><template #header><div class="header"><span>基本资料</span></div></template><el-row><el-col :span="12"><el-form :model="userInfo" :rules="rules" label-width="100px" size="large"><el-form-item label="登录名称"><el-input v-model="userInfo.username" disabled></el-input></el-form-item><el-form-item label="用户昵称" prop="nickname"><el-input v-model="userInfo.nickname"></el-input></el-form-item><el-form-item label="用户邮箱" prop="email"><el-input v-model="userInfo.email"></el-input></el-form-item><el-form-item><el-button type="primary">提交修改</el-button></el-form-item></el-form></el-col></el-row></el-card>
</template>

二、更新用户信息

1.绑定用户信息

从pinia中获取用户信息

import useUserInfoStore from '@/stores/userInfo.js'const userInfoStore=useUserInfoStore()
const userInfo = ref(userInfoStore.getUserInfo())

2.更新接口

export const userUpdateService = (userInfo)=>{return request.put('/user/update',userInfo)
}

3.更新事件

3.1 添加事件

<el-button type="primary" @click="submit">提交修改</el-button>

3.2 触发事件

import { userUpdateService } from '@/api/user.js'
import { ElMessage} from 'element-plus'const submit = async () => {//1.调用更新接口let result = await userUpdateService(userInfo.value)if (result.code == 0) {ElMessage({type: 'success',message: '更新成功',})//2.更新piniauserInfoStore.setUserInfo(userInfo.value)}
}

总结

回到顶部

相关文章:

  • C++(26): 原子操作(std::atomic)
  • 诺瓦星云入职认知能力SHL测验Verify职业性格问卷OPQ可搜索带解析求职题库
  • Java练习题4
  • 锂锗磷硫(LGPS)是代表性硫化物固态电解质产品之一 技术研究不断深入
  • python-题库篇-Python语言特性
  • 【计算机毕业设计】196运动健康weixin小程序
  • leetcode 动态规划(基础版)三角形最小路径和
  • JC/T 2752-2023 导(防)静电不发火地坪检测
  • 海外版coze前端代码助手
  • rs232和can的区别
  • python20 函数的定及调用
  • Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore
  • windows安装spark
  • Mysql特殊用法分享
  • platformio烧写STC8H1K08单片机程序失败:Serial port error: read timeout
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 345-反转字符串中的元音字母
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Mysql优化
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Unix命令
  • Windows Containers 大冒险: 容器网络
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 理解在java “”i=i++;”所发生的事情
  • 如何学习JavaEE,项目又该如何做?
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 实现简单的正则表达式引擎
  • 微信开源mars源码分析1—上层samples分析
  • 详解NodeJs流之一
  • 一天一个设计模式之JS实现——适配器模式
  • nb
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​Java基础复习笔记 第16章:网络编程
  • ​字​节​一​面​
  • #APPINVENTOR学习记录
  • #传输# #传输数据判断#
  • (bean配置类的注解开发)学习Spring的第十三天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (七)理解angular中的module和injector,即依赖注入
  • (转)winform之ListView
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET下ASPX编程的几个小问题
  • .NET中统一的存储过程调用方法(收藏)