@@ -4,6 +4,8 @@ import Defer from '@front/mixins/defer'
4
4
import { computed , ref , watch } from ' @vue/composition-api'
5
5
import TimelineEventListItem from ' ./TimelineEventListItem.vue'
6
6
7
+ const itemHeight = 34
8
+
7
9
export default {
8
10
components: { TimelineEventListItem },
9
11
mixins: [
@@ -77,7 +79,7 @@ export default {
77
79
78
80
const index = filteredEvents .value .indexOf (inspectedEvent .value )
79
81
if (index !== - 1 ) {
80
- scrollerEl .scrollTop = 39 * (index + 0.5 ) - (scrollerEl .clientHeight ) / 2
82
+ scrollerEl .scrollTop = itemHeight * (index + 0.5 ) - (scrollerEl .clientHeight ) / 2
81
83
}
82
84
}
83
85
@@ -91,8 +93,8 @@ export default {
91
93
const scrollerEl = scroller .value .$el
92
94
93
95
const index = filteredEvents .value .indexOf (inspectedEvent .value )
94
- const minPosition = 39 * index
95
- const maxPosition = minPosition + 39
96
+ const minPosition = itemHeight * index
97
+ const maxPosition = minPosition + itemHeight
96
98
97
99
if (scrollerEl .scrollTop > minPosition || scrollerEl .scrollTop + scrollerEl .clientHeight < maxPosition) {
98
100
scrollToInspectedEvent ()
@@ -127,6 +129,7 @@ export default {
127
129
scroller,
128
130
filter,
129
131
filteredEvents,
132
+ itemHeight,
130
133
inspectedEvent,
131
134
inspectEvent,
132
135
selectEvent
@@ -172,8 +175,8 @@ export default {
172
175
<RecycleScroller
173
176
ref =" scroller"
174
177
:items =" filteredEvents"
175
- :item-size =" 34 "
176
- class =" flex-1"
178
+ :item-size =" itemHeight "
179
+ class =" flex-1 scroll-smooth "
177
180
>
178
181
<template #default =" { item: event } " >
179
182
<TimelineEventListItem
0 commit comments