0.0.7 • Published 1 year ago

my-react-virtual-list v0.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

简介

基于react实现的虚拟列表组件

安装

npm install my-react-virtual-list

使用

示例:codesandbox

import VirtualList, { DIRECTION } from 'my-react-virtual-list'
import type { ItemStyle }  from 'my-react-virtual-list'
const VirtualListDemo = () => {
  const renderItem = ({style, index}: {style: ItemStyle; index: number}) => {
    return (
      <div className="Row" style={style} key={index}>
        Row #{index}
      </div>
    );
  };

  const getItemSize = (_: number) => {
    return (Math.random() * 50) + 50
  }
  
  return (
    <div className="Root">
      <VirtualList
        width={800}
        height={400}
        itemCount={300}
        renderItem={renderItem}
        itemSize={getItemSize}
        className="VirtualList"
        estimatedItemSize={50}
        scrollDirection={DIRECTION.VERTICAL}
      />
    </div>
  );
}
export default VirtualListDemo;

API

VirtualList

属性类型描述是否必需
classNamestring组件的CSS类名。
styleReact.CSSProperties自定义组件的内联样式。
estimatedItemSizenumber每个列表项的预估尺寸。用于在列表项的实际尺寸未知时提供滚动位置的估算。
heightnumber \| string虚拟列表的高度。
widthnumber \| string虚拟列表的宽度。
itemCountnumber列表中的项目总数。
itemSizeItemSize每个列表项的尺寸(固定值、数组或函数)。
overscanCountnumber在可视区域外(缓冲区)预渲染的项目数量。用于减少滚动时的闪烁。
scrollOffsetnumber初始滚动偏移量。
scrollToIndexnumber列表应该滚动到的项目索引。
scrollToAlignmentALIGNMENT滚动到项目时的对齐方式(auto, start, center, end)。
scrollDirectionDIRECTION列表的滚动方向(horizontal, vertical)。
onItemsRenderedfunction({startIndex, stopIndex}:RenderedRows)列表项渲染时调用的函数。接收一个 RenderedRows对象
onScrollfunction(offset: number, event: Event)当列表滚动时调用的函数。接收参数offset滚动偏移量和事件对象event
renderItemfunction(ItemInfo)用于渲染每个列表项的函数。接收一个ItemInfo对象。

ItemSize

type ItemSize = number | number[] | ItemSizeGetter;

type ItemSizeGetter = (index: number) => number;

ItemInfo

属性类型描述是否必需
indexnumber列表项索引
styleItemStyle列表项css属性

ItemStyle

属性类型描述是否必需
topnumber列表项距离可视区的上偏移量
leftnumber列表项距离可视区的左偏移量
widthstring \| number列表项宽度
heightnumber列表项高度

RenderedRows

属性类型描述是否必需
startIndexnumber可视区渲染的列表项开始索引
stopIndexnumber可视区渲染的列表项结束索引

ALIGNMENT

描述
AUTO自动对齐
START左对齐
CENTER居中对齐
END右对齐

DIRECTION

描述
HORIZONTAL虚拟列表水平方向滚动
VERTICAL虚拟列表垂直方向滚动
0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago