vue項(xiàng)目實(shí)現(xiàn)路由跳轉(zhuǎn)到新頁面,返回舊頁面,保留之前的數(shù)據(jù)記錄(操作代碼)
以項(xiàng)目里某個(gè)頁面為示例。
// 頁面相關(guān)參數(shù)示例
searchParams: {
projectName: '',// 篩選搜索框參數(shù)
handlerOrgId: '',// 左側(cè)樹點(diǎn)擊參數(shù)
pageNum:JSON.parse(sessionStorage.getItem('nowPageData'))?.pageNum || 1,// 頁碼參數(shù)
},在相關(guān)操作路由跳轉(zhuǎn)時(shí),對當(dāng)前頁面的參數(shù)進(jìn)行一個(gè)存放處理,此示例將數(shù)據(jù)放在 Session Storage 里面。
// 操作示例:數(shù)據(jù)包含點(diǎn)擊的樹節(jié)點(diǎn),篩選框的參數(shù),以及選中的列表頁碼
jumpToFormFn(type, id) {
let _data = Object.assign(this.searchParams, {});/
sessionStorage.setItem('nowPageData', JSON.stringify(_data));/這兩行代碼用來往 sessionStorage存數(shù)據(jù)
this.$router.push({
path: 'fieldFundsForm',
query: {
type,
id,
},
});
},返回舊頁面時(shí),判斷Session Storage 里面是否含有當(dāng)前頁面的參數(shù)緩存
如果有數(shù)據(jù)緩存,在頁面創(chuàng)建時(shí)將參數(shù)賦值給頁面的參數(shù),
let _obj = JSON.parse(sessionStorage.getItem('nowPageData'));
Object.keys(this.searchParams).forEach((key) => {
this.searchParams[key] = _obj[key] || this.searchParams[key];
this.currentCHeckedId = this.searchParams.handlerOrgId; // 本次示例左側(cè)樹需要高亮選中,其他操作也是如此,
// 存放數(shù)據(jù),在掉對應(yīng)樹接口之后,設(shè)置高亮選中或者勾選即可
});
## 數(shù)據(jù)存放之后,清除緩存
sessionStorage.removeItem('nowPageData');如果列表組件有相應(yīng)封裝的需要對應(yīng)修改一下,組件里當(dāng)前頁數(shù) currentPage:
// 如果this.searchParams.pageNum有值,就取這個(gè)值,要么就取默認(rèn)值
到此這篇關(guān)于vue項(xiàng)目實(shí)現(xiàn)路由跳轉(zhuǎn)到新頁面,返回舊頁面,保留之前的數(shù)據(jù)記錄的文章就介紹到這了,更多相關(guān)vue路由跳轉(zhuǎn)到新頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vue中element-ui?form或table?lable換行的問題
這篇文章主要介紹了vue中element-ui?form或table?lable換行的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Vue3超詳細(xì)的ref()用法教程(看這一篇就夠了!)
這篇文章主要給大家介紹了關(guān)于Vue3超詳細(xì)的ref()用法的相關(guān)資料,在Vue3中ref函數(shù)不僅可以用于在組件中獲取DOM元素或子組件的引用,還可以直接訪問組件元素本身,需要的朋友可以參考下2023-07-07

