import { ViewStyle } from 'react-native'; export interface DbFlatListProps { /** 数据源数组 */ data: any[]; /** 自定义渲染每一项的回调函数,返回当前项的渲染节点 */ renderItem: (item: T, index: number) => React.ReactNode; /** 自定义每一项的唯一key生成函数,用于React列表优化,可选 */ keyExtractor?: (item: T, index: number) => string; /** 列表滚动到底部时触发的回调函数,用于加载更多数据,可选 */ onEndReached?: () => void; /** 列表下拉刷新时触发的回调函数,用于重新加载数据,可选 */ onRefresh?: () => void; /** 控制列表是否显示下拉刷新状态,配合onRefresh使用,可选 */ refreshing?: boolean; /** 控制列表是否显示加载更多状态,配合onEndReached使用,可选 */ loadingMore?: boolean; /** 列表列数,控制一行展示多少列,默认1列(单列列表),可选 */ numColumns?: number; /** 列表项之间的间距(水平/垂直),单位px,可选 */ itemSpacing?: number; /** 列表容器两侧的间距(左右边距),单位px,可选 */ sideSpacing?: number; /** 列表容器的样式,透传ScrollView/FlatList的style属性,可选 */ style?: ViewStyle; /** 列表内容容器的样式,透传ScrollView/FlatList的contentContainerStyle属性,可选 */ contentContainerStyle?: ViewStyle; /** 列表底部自定义组件,通常用于展示加载更多/无更多数据提示,可选 */ ListFooterComponent?: React.ReactNode; /** 是否启用瀑布流布局(简单实现,仅适配不等高item,复杂场景建议使用第三方瀑布流库),可选 */ isWaterfall?: boolean; /** 下拉刷新触发的距离阈值(单位px),默认100px,值越大需要下拉越长才触发 */ refreshThreshold?: number; /** 下拉刷新防抖时间(单位ms),默认500ms,防止短时间重复触发 */ refreshDebounceTime?: number; /** 加载更多触发阈值(0-1),默认0.2(列表底部20%可见时触发),值越大触发越晚 */ onEndReachedThreshold?: number; }