rcx-virtual-list
Version:
Maximum performance for extremely large lists.<br/> Animation of elements is supported.
51 lines (50 loc) • 2.14 kB
TypeScript
import React from 'react';
import { IVirtualListItemMethods, VirtualListItemRenderer } from '../models';
import { IRenderVirtualListItem } from '../models/render-item.model';
import { ISize } from '../types';
export interface IVirtualListItemProps {
regular?: boolean;
renderer?: VirtualListItemRenderer;
}
interface IVirtualListItemState {
data: IRenderVirtualListItem | undefined;
}
export declare const getNextId: () => number;
/**
* Virtual list item component
* @link https://github.com/DjonnyX/rcx-virtual-list/tree/main/src/lib/src/components/ng-virtual-list-item.component.ts
* @author Evgenii Grebennikov
* @email djonnyx@gmail.com
*/
export declare class VirtualListItem extends React.Component<IVirtualListItemProps, IVirtualListItemState> implements IVirtualListItemMethods {
private _$elementRef;
private _$listItemRef;
private static __nextId;
private _id;
get id(): number;
protected _regular: boolean;
get regular(): boolean;
private _data;
get data(): IRenderVirtualListItem | undefined;
set data(v: IRenderVirtualListItem | undefined);
protected _regularLength: string;
set regularLength(v: string);
get regularLength(): string;
get item(): IRenderVirtualListItem | undefined;
get itemId(): import("../types").Id | undefined;
get element(): HTMLDivElement | null;
protected _renderer: VirtualListItemRenderer;
get renderer(): VirtualListItemRenderer;
set renderer(v: VirtualListItemRenderer);
constructor(props: IVirtualListItemProps);
protected update(): void;
getSnapshotBeforeUpdate(prevProps: Readonly<IVirtualListItemProps>, prevState: Readonly<IVirtualListItemState>): null;
componentDidUpdate(prevProps: Readonly<IVirtualListItemProps>, prevState: Readonly<IVirtualListItemState>, snapshot?: any): void;
shouldComponentUpdate(nextProps: Readonly<IVirtualListItemProps>, nextState: Readonly<IVirtualListItemState>): boolean;
getBounds(): ISize;
show(): void;
hide(): void;
private classNames;
render(): React.ReactNode;
}
export {};