MCPcopy Index your code
hub / github.com/TanStack/virtual / ColumnVirtualizerDynamic

Function ColumnVirtualizerDynamic

examples/react/padding/src/main.tsx:95–149  ·  view source on GitHub ↗
({ columns }: { columns: Array<number> })

Source from the content-addressed store, hash-verified

93}
94
95function ColumnVirtualizerDynamic({ columns }: { columns: Array<number> }) {
96 const parentRef = React.useRef<HTMLDivElement>(null)
97
98 const columnVirtualizer = useVirtualizer({
99 horizontal: true,
100 count: columns.length,
101 getScrollElement: () => parentRef.current,
102 estimateSize: () => 50,
103 paddingStart: 100,
104 paddingEnd: 100,
105 })
106
107 return (
108 <>
109 <div
110 ref={parentRef}
111 className="List"
112 style={{
113 width: `400px`,
114 height: `100px`,
115 overflow: 'auto',
116 }}
117 >
118 <div
119 style={{
120 width: `${columnVirtualizer.getTotalSize()}px`,
121 height: '100%',
122 position: 'relative',
123 }}
124 >
125 {columnVirtualizer.getVirtualItems().map((virtualColumn) => (
126 <div
127 key={virtualColumn.key}
128 data-index={virtualColumn.index}
129 ref={columnVirtualizer.measureElement}
130 className={
131 virtualColumn.index % 2 ? 'ListItemOdd' : 'ListItemEven'
132 }
133 style={{
134 position: 'absolute',
135 top: 0,
136 left: 0,
137 height: '100%',
138 width: `${columns[virtualColumn.index]}px`,
139 transform: `translateX(${virtualColumn.start}px)`,
140 }}
141 >
142 Column {virtualColumn.index}
143 </div>
144 ))}
145 </div>
146 </div>
147 </>
148 )
149}
150
151function GridVirtualizerDynamic({
152 rows,

Callers

nothing calls this directly

Calls 1

useVirtualizerFunction · 0.90

Tested by

no test coverage detected