跳到主要内容

InfiniteScrollResource<T>

Defined in: rxdb-vue/src/useInfiniteScroll.ts:79

无限滚动资源。

Remarks​

RAN-014:状态字段一律是 ComputedRef 而非可写 Ref —— 早先 isLoading / error / hasMore 直接把内部 ref 暴露出去,调用方一句 resource.isLoading.value = false 就能把状态机改成与实际订阅不符的样子,且下一次 loadMore 会毫无预警地覆盖回去。 三端语义就此对齐:Angular 用 asReadonly()(RAN-009),React 直接返回值。

与基础 hooks 的 RxDBResource 不同,这里每个字段本身就是 ComputedRef, 解构是安全的(const { value, loadMore } = useInfiniteScroll(...))。

Type Parameters​

Type ParameterDescription
T实体实例类型。

Properties​

error​

error: ComputedRef<Error | undefined>;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:97

最近一次失败的错误,原样透传底层 Error(非 Error 载荷会被包成真正的 Error)。 每次 loadMore / refresh 入口清空。


hasMore​

hasMore: ComputedRef<boolean>;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:102

是否可能还有下一页。由最后一页决定:该页装满即为 true。 页容量非正(limit <= 0 或 NaN)永远为 false;一次 next 都没有就 complete 也收敛为 false。


isEmpty​

isEmpty: ComputedRef<boolean>;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:88

是否「加载完成且确实没有数据」:已挂载、数据库就绪、无错误、列表为空且不在加载中。 出错或加载中一律为 false,因此它不会与 error 同时为真。


isLoading​

isLoading: ComputedRef<boolean>;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:92

是否有一次用户发起的加载在进行中。活查询自愈式重锚(见 RVU-004)不计入。


loadMore​

loadMore: () => void;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:107

以当前最后一个实体为游标加载下一页。 正在加载、没有下一页、尚未挂载或数据库未就绪时是空操作,可安全用于自动触底。

Returns​

void


refresh​

refresh: () => void;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:111

丢弃所有页与订阅,从第一页重新开始加载。未挂载时是空操作。

Returns​

void


value​

value: ComputedRef<T[]>;

Defined in: rxdb-vue/src/useInfiniteScroll.ts:83

已加载各页拼接后的实体列表;每个实体经 markRaw 处理,不会被 Vue 递归代理。