|
@@ -178,6 +178,7 @@ export default class extends Vue {
|
|
|
finished: true,
|
|
|
pageNum: 1,
|
|
|
total: 0,
|
|
|
+ scrollTop: 0,
|
|
|
list: []
|
|
|
}
|
|
|
Object.assign(this.listState, state)
|
|
@@ -190,6 +191,7 @@ export default class extends Vue {
|
|
|
docTypeChange () {
|
|
|
if (!this.listState.value) return
|
|
|
this.resetListState()
|
|
|
+ this.setScrollTop()
|
|
|
this.listState.finished = false
|
|
|
this.getList()
|
|
|
}
|
|
@@ -206,12 +208,14 @@ export default class extends Vue {
|
|
|
}
|
|
|
if (!this.listState.value) return
|
|
|
this.resetListState()
|
|
|
+ this.setScrollTop()
|
|
|
this.listState.finished = false
|
|
|
this.getList()
|
|
|
}
|
|
|
|
|
|
doSearch () {
|
|
|
this.resetListState()
|
|
|
+ this.setScrollTop()
|
|
|
this.listState.finished = false
|
|
|
this.getList()
|
|
|
}
|
|
@@ -278,6 +282,13 @@ export default class extends Vue {
|
|
|
return [dateFormatter(uploadDate, 'yyyy/MM/dd'), `${downTimes}次下载`]
|
|
|
}
|
|
|
|
|
|
+ setScrollTop () {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ const wrapper: any = this.$refs.scrollWrap
|
|
|
+ wrapper.scrollTop = this.listState.scrollTop
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
reStoreState () {
|
|
|
const listInfo = this.searchState
|
|
|
if (!listInfo || Object.keys(listInfo).length === 0) {
|
|
@@ -286,11 +297,10 @@ export default class extends Vue {
|
|
|
for (const key in listInfo) {
|
|
|
this.$data[key] = listInfo[key]
|
|
|
}
|
|
|
- this.$nextTick(() => {
|
|
|
- const wrapper: any = this.$refs.scrollWrap
|
|
|
- wrapper.scrollTop = this.listState.scrollTop
|
|
|
+ setTimeout(() => {
|
|
|
+ this.setScrollTop()
|
|
|
this.clearSearchState()
|
|
|
- })
|
|
|
+ }, 50)
|
|
|
return true
|
|
|
}
|
|
|
}
|