@@ -67,7 +67,7 @@ export interface UseVirtualListReturn<T> {
67
67
/**
68
68
* Please consider using [`vue-virtual-scroller`](https://github.com/Akryum/vue-virtual-scroller) if you are looking for more features.
69
69
*/
70
- export function useVirtualList < T = any > ( list : MaybeRef < T [ ] > , options : UseVirtualListOptions ) : UseVirtualListReturn < T > {
70
+ export function useVirtualList < T = any > ( list : MaybeRef < readonly T [ ] > , options : UseVirtualListOptions ) : UseVirtualListReturn < T > {
71
71
const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = 'itemHeight' in options
72
72
? useVerticalVirtualList ( options , list )
73
73
: useHorizontalVirtualList ( options , list )
@@ -96,7 +96,7 @@ interface UseVirtualElementSizes {
96
96
type UseVirtualListArray < T > = UseVirtualListItem < T > [ ]
97
97
type UseVirtualListRefArray < T > = Ref < UseVirtualListArray < T > >
98
98
99
- type UseVirtualListSource < T > = Ref < T [ ] > | ShallowRef < T [ ] >
99
+ type UseVirtualListSource < T > = Ref < readonly T [ ] > | ShallowRef < readonly T [ ] >
100
100
101
101
interface UseVirtualListState { start : number , end : number }
102
102
@@ -110,7 +110,7 @@ interface UseVirtualListResources<T> {
110
110
containerRef : UseVirtualListContainerRef
111
111
}
112
112
113
- function useVirtualListResources < T > ( list : MaybeRef < T [ ] > ) : UseVirtualListResources < T > {
113
+ function useVirtualListResources < T > ( list : MaybeRef < readonly T [ ] > ) : UseVirtualListResources < T > {
114
114
const containerRef = ref < HTMLElement | null > ( null )
115
115
const size = useElementSize ( containerRef )
116
116
@@ -201,7 +201,7 @@ function createGetDistance<T>(itemSize: UseVirtualListItemSize, source: UseVirtu
201
201
}
202
202
}
203
203
204
- function useWatchForSizes < T > ( size : UseVirtualElementSizes , list : MaybeRef < T [ ] > , containerRef : Ref < HTMLElement | null > , calculateRange : ( ) => void ) {
204
+ function useWatchForSizes < T > ( size : UseVirtualElementSizes , list : MaybeRef < readonly T [ ] > , containerRef : Ref < HTMLElement | null > , calculateRange : ( ) => void ) {
205
205
watch ( [ size . width , size . height , list , containerRef ] , ( ) => {
206
206
calculateRange ( )
207
207
} )
@@ -230,7 +230,7 @@ function createScrollTo<T>(type: 'horizontal' | 'vertical', calculateRange: () =
230
230
}
231
231
}
232
232
233
- function useHorizontalVirtualList < T > ( options : UseHorizontalVirtualListOptions , list : MaybeRef < T [ ] > ) {
233
+ function useHorizontalVirtualList < T > ( options : UseHorizontalVirtualListOptions , list : MaybeRef < readonly T [ ] > ) {
234
234
const resources = useVirtualListResources ( list )
235
235
const { state, source, currentList, size, containerRef } = resources
236
236
const containerStyle : StyleValue = { overflowX : 'auto' }
@@ -274,7 +274,7 @@ function useHorizontalVirtualList<T>(options: UseHorizontalVirtualListOptions, l
274
274
}
275
275
}
276
276
277
- function useVerticalVirtualList < T > ( options : UseVerticalVirtualListOptions , list : MaybeRef < T [ ] > ) {
277
+ function useVerticalVirtualList < T > ( options : UseVerticalVirtualListOptions , list : MaybeRef < readonly T [ ] > ) {
278
278
const resources = useVirtualListResources ( list )
279
279
280
280
const { state, source, currentList, size, containerRef } = resources
0 commit comments