@@ -73,9 +73,11 @@ export default {
73
73
function scrollToInspectedEvent () {
74
74
if (! scroller .value ) return
75
75
76
+ const scrollerEl = scroller .value .$el
77
+
76
78
const index = filteredEvents .value .indexOf (inspectedEvent .value )
77
79
if (index !== - 1 ) {
78
- scroller . value . scrollTop = 39 * (index + 0.5 ) - (scroller . value .clientHeight ) / 2
80
+ scrollerEl . scrollTop = 39 * (index + 0.5 ) - (scrollerEl .clientHeight ) / 2
79
81
}
80
82
}
81
83
@@ -86,11 +88,13 @@ export default {
86
88
function checkScrollToInspectedEvent () {
87
89
if (! scroller .value ) return
88
90
91
+ const scrollerEl = scroller .value .$el
92
+
89
93
const index = filteredEvents .value .indexOf (inspectedEvent .value )
90
94
const minPosition = 39 * index
91
95
const maxPosition = minPosition + 39
92
96
93
- if (scroller . value . scrollTop > minPosition || scroller . value . scrollTop + scroller . value .clientHeight < maxPosition) {
97
+ if (scrollerEl . scrollTop > minPosition || scrollerEl . scrollTop + scrollerEl .clientHeight < maxPosition) {
94
98
scrollToInspectedEvent ()
95
99
}
96
100
}
@@ -165,18 +169,20 @@ export default {
165
169
/>
166
170
</div >
167
171
168
- <div
172
+ <RecycleScroller
169
173
ref =" scroller"
170
- class =" flex-1 overflow-y-auto scroll-smooth"
174
+ :items =" filteredEvents"
175
+ :item-size =" 34"
176
+ class =" flex-1"
171
177
>
172
- <TimelineEventListItem
173
- v-for = " (event, index) of filteredEvents "
174
- :key = " index "
175
- :event = " event"
176
- :selected = " tabId !== 'nearby' && selectedStackedEvents.includes (event)"
177
- @inspect = " inspectEvent (event)"
178
- @select = " selectEvent(event) "
179
- / >
180
- </div >
178
+ <template # default = " { item: event } " >
179
+ < TimelineEventListItem
180
+ :event = " event "
181
+ :selected = " tabId !== 'nearby' && selectedStackedEvents.includes( event) "
182
+ @inspect = " inspectEvent (event)"
183
+ @select = " selectEvent (event)"
184
+ />
185
+ </ template >
186
+ </RecycleScroller >
181
187
</div >
182
188
</template >
0 commit comments