订单列表无缓存回前一页
This commit is contained in:
parent
43864f8fa8
commit
81805a7955
Binary file not shown.
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 56 KiB |
@ -178,7 +178,7 @@ const routes = [
|
||||
path: '/TradeList',
|
||||
name: 'TradeList',
|
||||
component: () => import('./views/Trade/TradeList.vue'),
|
||||
meta: { title: '订单列表', cache: true }
|
||||
meta: { title: '订单列表' }
|
||||
},
|
||||
{
|
||||
path: '/Pay',
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
</van-search>
|
||||
|
||||
<BaseList ref="baseList" url="/v1/client/FOrdersClient" :params="searchParams" :parseData="parseData"
|
||||
style="padding: 3.33vw;" @refresh="onRefresh">
|
||||
style="padding: 3.33vw;" @refresh="onRefresh" @load="onLoad">
|
||||
<template #default="{ item }">
|
||||
<div class="list">
|
||||
<div class="order_box">
|
||||
@ -176,11 +176,50 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
beforeRouteLeave(to, from) {
|
||||
if (to.name === 'TradeDetail' || to.name === 'MerchantTradeDetail') {
|
||||
sessionStorage.setItem('TradeList_scroll', window.scrollY || 0)
|
||||
sessionStorage.setItem('TradeList_fromDetail', '1')
|
||||
}
|
||||
this._pauseScroll = true
|
||||
},
|
||||
|
||||
mounted() {
|
||||
const isReturningFromDetail = sessionStorage.getItem('TradeList_fromDetail') === '1'
|
||||
sessionStorage.removeItem('TradeList_fromDetail')
|
||||
|
||||
if (!isReturningFromDetail) {
|
||||
sessionStorage.setItem('TradeList_scroll', '0')
|
||||
}
|
||||
|
||||
this._pauseScroll = false
|
||||
window.addEventListener('scroll', this.saveScroll)
|
||||
this.$refs.baseList?.refresh()
|
||||
},
|
||||
|
||||
onUnmounted() {
|
||||
window.removeEventListener('scroll', this.saveScroll)
|
||||
},
|
||||
|
||||
methods: {
|
||||
saveScroll() {
|
||||
if (this._pauseScroll) return
|
||||
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
|
||||
sessionStorage.setItem('TradeList_scroll', scrollTop)
|
||||
},
|
||||
onLoad() {
|
||||
const scrollTop = sessionStorage.getItem('TradeList_scroll')
|
||||
if (scrollTop && scrollTop !== '0' && !this._scrollRestored) {
|
||||
this._scrollRestored = true
|
||||
window.removeEventListener('scroll', this.saveScroll)
|
||||
this.$nextTick(() => {
|
||||
window.scrollTo(0, Number(scrollTop))
|
||||
})
|
||||
setTimeout(() => {
|
||||
window.addEventListener('scroll', this.saveScroll)
|
||||
}, 100)
|
||||
}
|
||||
},
|
||||
// 加载订单状态和类型列表
|
||||
async loadFilterOptions() {
|
||||
try {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user