diff --git a/packages/solid-virtual/src/index.tsx b/packages/solid-virtual/src/index.tsx index 69ac34fd..15c2546b 100644 --- a/packages/solid-virtual/src/index.tsx +++ b/packages/solid-virtual/src/index.tsx @@ -9,7 +9,7 @@ import { } from '@tanstack/virtual-core' import { - createComputed, + createEffect, createSignal, mergeProps, onCleanup, @@ -55,22 +55,19 @@ function createVirtualizerBase< } const virtualizer = new Proxy(instance, handler) - virtualizer.setOptions(resolvedOptions) onMount(() => { const cleanup = virtualizer._didMount() - virtualizer._willUpdate() onCleanup(cleanup) }) - createComputed(() => { + createEffect(() => { virtualizer.setOptions( mergeProps(resolvedOptions, options, { onChange: ( instance: Virtualizer, sync: boolean, ) => { - instance._willUpdate() setVirtualItems( reconcile(instance.getVirtualItems(), { key: 'index', @@ -81,6 +78,8 @@ function createVirtualizerBase< }, }), ) + setVirtualItems([]) + virtualizer._willUpdate() virtualizer.measure() })