我在登录页面放了一个sessionStorage存放登录的用户信息,在另一个个人中心页面我想将里面的信息取出,分别填进这个个人信息表格中,请问应该怎么写呀
登录代码如下:
handleSubmit:function (){
this.$refs.userLoginFormRef.validate(async valid => {
if(!valid) return;
const{data: res} = await this.$http.post("login",this.userLoginForm);
if ( res.flag == "ok"){
Cookies.set('username',this.userLoginForm.username)
window.sessionStorage.setItem("user",JSON.stringify(res.user));//存储user对象
this.$message.success("登陆成功~");
this.$router.push({path:"/Home"});
}else {
this.$message.error("登录失败~");
}
})
}
个人中心页面代码如下:
class="right" style="float:right;width:640px;">
table :data="tableInfo" border height="120px">
table-column prop="username" label="用户姓名"> table-column>
table-column prop="email" label="用户邮箱"> table-column>
table-column prop="roles" label="用户角色"> table-column>
table-column prop="roles" label="用户状态" > table-column>
table>
getItemData(){
let user=JSON.parse(window.sessionStorage.getItem('user'));
if(Object.keys(user).length){
this.tableInfo=user;
}
}
遇到什么问题了 ? 如果存的没问题 ,取的时候 取出来 然后 赋值给需要的变量就行。
获取后你可以把这个赋值给数组变量,比如就用”tableData“
this.tableData = window.sessionStorage.getItem("user")
然后打印下看获取的数据结构是啥
然后就可以用你上面的prop,或者不要用”prop“了,这样写
<el-table-column label="用户姓名">
<template #default="scope">
<span>{{scope.row.XXX}}</span>
</template>
</el-table-column>
sessionStorage.setItem('username', username);