优化我的列表滚动条位置的保存逻辑
parent
3bb0fcc4cd
commit
5949e8fb3f
|
@ -86,7 +86,6 @@ export default {
|
||||||
// isShowEditBtn: false,
|
// isShowEditBtn: false,
|
||||||
isShowDownloadMultiple: false,
|
isShowDownloadMultiple: false,
|
||||||
delayShow: false,
|
delayShow: false,
|
||||||
routeLeaveLocation: null,
|
|
||||||
isShowListAdd: false,
|
isShowListAdd: false,
|
||||||
isShowListAddMultiple: false,
|
isShowListAddMultiple: false,
|
||||||
delayTimeout: null,
|
delayTimeout: null,
|
||||||
|
@ -289,18 +288,14 @@ export default {
|
||||||
// },
|
// },
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
this.clearDelayTimeout()
|
this.clearDelayTimeout()
|
||||||
this.routeLeaveLocation = (this.list.length && this.$refs.dom_scrollContent.scrollTop) || 0
|
this.setListScroll({ id: this.listId, location: (this.list.length && this.$refs.dom_scrollContent.scrollTop) || 0 })
|
||||||
next()
|
next()
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.listId = this.$route.query.id || this.defaultList.id
|
this.listId = this.$route.query.id || this.defaultList.id
|
||||||
this.setPrevSelectListId(this.listId)
|
this.setPrevSelectListId(this.listId)
|
||||||
this.handleScroll = throttle(e => {
|
this.handleSaveScroll = throttle((listId, location) => {
|
||||||
if (this.routeLeaveLocation) {
|
this.setListScroll({ id: listId, location })
|
||||||
this.setListScroll({ id: this.listId, location: this.routeLeaveLocation })
|
|
||||||
} else {
|
|
||||||
this.setListScroll({ id: this.listId, location: e.target.scrollTop })
|
|
||||||
}
|
|
||||||
}, 1000)
|
}, 1000)
|
||||||
this.listenEvent()
|
this.listenEvent()
|
||||||
},
|
},
|
||||||
|
@ -310,6 +305,7 @@ export default {
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.unlistenEvent()
|
this.unlistenEvent()
|
||||||
|
this.setListScroll({ id: this.listId, location: (this.list.length && this.$refs.dom_scrollContent.scrollTop) || 0 })
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['setPrevSelectListId']),
|
...mapMutations(['setPrevSelectListId']),
|
||||||
|
@ -369,6 +365,9 @@ export default {
|
||||||
this.restoreScroll(this.$route.query.scrollIndex, false)
|
this.restoreScroll(this.$route.query.scrollIndex, false)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleScroll(e) {
|
||||||
|
this.handleSaveScroll(this.listId, e.target.scrollTop)
|
||||||
|
},
|
||||||
clearDelayTimeout() {
|
clearDelayTimeout() {
|
||||||
if (this.delayTimeout) {
|
if (this.delayTimeout) {
|
||||||
clearTimeout(this.delayTimeout)
|
clearTimeout(this.delayTimeout)
|
||||||
|
|
Loading…
Reference in New Issue