用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

小程序社區 首頁 教程 查看內容

微信小程序如何修改本地緩存key中單個數據的詳解

Rolan 2020-7-2 00:41

最近在做教師評教系統,有一個‘個人信息'頁面中有個編輯修改郵箱的功能,本來想得很簡單,結果進坑了,搞了好久才出來。我想實現的效果是點擊下圖左側郵箱,然后進入右側頁面,進行郵箱的修改,點擊提交后跳轉到左 ...

最近在做教師評教系統,有一個‘個人信息'頁面中有個編輯修改郵箱的功能,本來想得很簡單,結果進坑了,搞了好久才出來。

我想實現的效果是點擊下圖左側郵箱,然后進入右側頁面,進行郵箱的修改,點擊提交后跳轉到左側頁面,同時郵箱也發生改變。

點擊‘我的'時,我讓它從控制臺打印出student緩存中傳過來的數據,如下:

{no: "1635050601", name: "張三", sex: "", email: "[email protected]", classid: "100000-1602", …}
classid:"100000-1602"
classname:"16級PHP2"
departmentid:"100000"
departmentname:"軟件學院"
name:"張三"
no:"1635050601"
sex:""

然后我添加郵箱后,后臺接口寫了方法讓email的值直接存到student中,但是如果初次添加email的話可以實現,第二次修改email的話,就得想想該怎么從student里只修改email的值。

 //表單提交
 formSubmit: function (e) {
 console.log(e.detail.value);
 var pwd = e.detail.value.pwd;
 var email = e.detail.value.email;
 if (pwd == '') {
  wx.showToast({
  title: '密碼不能為空',
  icon: 'none',
  duration: 1000,
  })
 }else if (email == '') {
  wx.showToast({
  title: '郵箱不能為空',
  icon: 'none',
  duration: 1000,
  })
 }else {
  //post方式提交
  wx.request({
  url: app.globalData.url.bindemail,
  method: "POST",
  data: {
   no: this.data.no,
   pwd: pwd,
   email: email
  },
  header: {
   "Content-Type": "application/x-www-form-urlencoded"
  },
  success: function (res) {
   // console.log(res);
   if(res.data.error == true){
   wx.showToast({
    title: res.data.msg,
    icon: 'none',
    duration: 1000,
   })
   }else{
   //修改email
   var _student = wx.getStorageSync('student');
   _student.email = email;
   wx.setStorageSync('student', _student);

   wx.showToast({
    title: res.data.msg,
    icon: 'success',
    duration: 2000,
    success: function () {
    setTimeout(function () {
     wx.reLaunch({
     url: '../myinfo/myinfo',
     })
    }, 2000)
    }
   })
   }
  },
  })
 }
 },

這里我們用下邊方法從student里只修改email的值。

//修改email
   var _student = wx.getStorageSync('student');
   _student.email = email;
   wx.setStorageSync('student', _student);

wx.setStorageSync(KEY,DATA)

將 data 存儲在本地緩存中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個同步接口。

wx.getStorageSync(KEY)

從本地緩存中同步獲取指定 key 對應的內容。

如有問題或補充,歡迎小伙伴們留言哦~期待與你一同學習,共同進步?。?!

鮮花
鮮花
雞蛋
雞蛋
分享至 : QQ空間
收藏
原作者: 張生榮 來自: 碼融融
快乐十分复式