摘要:需求背景再列表頁進行一系列的篩選條件之后,點擊某一個進入詳情頁,當從詳情頁返回列表頁的時候,需要保留之前的篩選條件。
需求背景
再列表頁進行一系列的篩選條件之后,點擊某一個進入詳情頁,當從詳情頁返回列表頁的時候,需要保留之前的篩選條件。之前的實現(xiàn)方法
路由跳轉的時候,把篩選條件json對象放到query中去,傳到詳情頁,返回的時候再帶回來,會導致在url后面一直會有這么一堆東西新的實現(xiàn)方法:
**vuex + cookie**
### vuex #### state: { changeFilter: {}//變更列表篩選條件 }, mutations: { setChangeFilter (state, changeFilter) { state.changeFilter = changeFilter; } }
### cookie ### //設置cookie Vue.prototype.setCookie = function (name, value, day) { if (day !== 0) { var expires = day * 24 * 60 * 60 * 1000; var date = new Date(+new Date() + expires); document.cookie = name + "=" + escape(JSON.stringify(value)) + ";expires=" + date.toUTCString(); } else { document.cookie = name + "=" + + escape(JSON.stringify(value)); } }; //獲取cookie Vue.prototype.getCookie = function (name) { var arr; var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return JSON.parse(unescape(arr[2])); else return null };
### list.vue #### var isFromDetailBol = false;//是否是從詳情頁過來的,來決定是否加載param methods: { goToDetail (id) { //設置cookie & vuex this.$store.commit("setChangeFilter",this.param) this.setCookie("changeFilter",this.param,1); this.$router.push({ path: "/versionflow/changeinfo", query: { id: id } }); } }, created:function () { if ( isFromDetailBol) { var filter = (JSON.stringify(this.$store.state.changeFilter) == "{}") ? this.getCookie("changeFilter") : this.$store.state.changeFilter; if (JSON.stringify(filter) != "{}") {//這里不能使用 if(filter) ,filter為空的時候他的值為{} this.param = filter; this.currentPage = this.param.page; this.changeTypeData.changeSelected = this.param.status; }; }; this.getBranchList(this.param);//進入列表頁的時候請求數(shù)據(jù)的方法 }, beforeRouteEnter: function (to,from,next) { if (from.name == "changeinfo"){ isFromDetailBol = true; }; next(); //一開始的時候我是在這里來進行數(shù)據(jù)的操作的,這里不能直接獲得this,需要 next ((vm) =>{ vm.$stroe.state.changeFilter })這樣獲取,而且next里的方法要在create之后執(zhí)行(這里他和組件其他鉤子函數(shù)的執(zhí)行順序需要了解一下去
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97718.html
摘要:使用開始支持,通過方式,將頁碼作為參數(shù)存儲在中,將選擇條件存儲在中尚不清楚數(shù)據(jù)具體是存儲在哪里通過方式獲取頁碼通過方式獲取存儲的選擇條件。具體實現(xiàn)技術選擇開關為分頁組件添加一個開關,因為需要灰度上線,萬一有問題,要調整的頁面也只有一個。 這篇文章主要給大家介紹了關于Vue利用History記錄上一頁面的數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學...
摘要:使用開始支持,通過方式,將頁碼作為參數(shù)存儲在中,將選擇條件存儲在中尚不清楚數(shù)據(jù)具體是存儲在哪里通過方式獲取頁碼通過方式獲取存儲的選擇條件。具體實現(xiàn)技術選擇開關為分頁組件添加一個開關,因為需要灰度上線,萬一有問題,要調整的頁面也只有一個。 這篇文章主要給大家介紹了關于Vue利用History記錄上一頁面的數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學...
摘要:問題由來最近用做前端項目,從查詢頁面進入詳情頁時,返回頁面需要保留上次的查詢條件,表格當前頁數(shù)。從其他菜單進去,不需要緩存,要保持頁面的初始狀態(tài)。當進入詳情頁,需要對該條數(shù)據(jù)進行修改時,修改成功后返回,應該更新列表。 問題由來 1、最近用vue做前端項目,從查詢頁面進入詳情頁時,返回頁面需要保留上次的查詢條件,表格當前頁數(shù)。2、從其他菜單進去,不需要緩存,要保持頁面的初始狀態(tài)。基于上面...
閱讀 3030·2021-11-22 09:34
閱讀 2506·2021-09-30 09:47
閱讀 1439·2021-09-03 10:32
閱讀 3704·2021-08-16 10:49
閱讀 1784·2019-08-30 15:55
閱讀 2451·2019-08-30 15:52
閱讀 3316·2019-08-30 15:44
閱讀 1344·2019-08-30 15:44