@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
70 lines (69 loc) • 2.12 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { BaseScrollerPropsT } from '../scrollbar';
export interface RenderIndexInfo {
start: number;
end: number;
visible: number;
count: number;
}
/**
* 虚拟滚动的子项不能使用margin,会导致总高度计算不准确(无法包含margin)
*/
export declare const virtualListProps: {
/**
* 默认滚动到第几项
*/
defaultStartIndex: {
type: NumberConstructor;
default: number;
};
/**
* 列表数据,如果数据存在动态追加,需要每一项需包含唯一ID
*/
list: {
type: {
(arrayLength: number): any[];
(...items: any[]): any[];
new (arrayLength: number): any[];
new (...items: any[]): any[];
isArray(arg: any): arg is any[];
readonly prototype: any[];
from<T>(arrayLike: ArrayLike<T>): T[];
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
of<T>(...items: T[]): T[];
readonly [Symbol.species]: ArrayConstructor;
};
required: boolean;
default: never[];
};
/**
* 每一项的高度,如果每一项高度不一致或不确定(渲染时确定),则不传
*/
itemSize: {
type: NumberConstructor;
};
/**
* 不定高时,每一项的默认高度
*/
defaultItemSize: {
type: NumberConstructor;
default: number;
};
/**
* 前后预留项,减少滚动式空白
*/
buffer: {
type: NumberConstructor;
default: number;
};
/**
* 使用内置scrollbar,支持传递scrollbar配置项
*/
scrollbar: {
type: PropType<boolean | Partial<BaseScrollerPropsT>>;
default: boolean;
};
};
export type VirtualListPropsT = ExtractPropTypes<typeof virtualListProps>;