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 Parameter | Description |
|---|---|
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 递归代理。