pub fn use_paginated<T, P, F, Fut, E>(
page: P,
per_page: i32,
fetch: F,
) -> PaginatedState<T>Expand description
分页列表加载 hook。
page:返回当前页码的信号读取闭包(返回值变化时自动重新加载)。per_page:每页条数。fetch:接收(page, per_page),返回Future<Output = Result<(Vec<T>, i64), E>>。E: Display用于把错误写入errorsignal。
非 wasm32 下 loading 立即置 false(SSR 不发起请求)。
§例
ⓘ
let state = use_paginated(
|| current_page,
POSTS_PER_PAGE,
|p, pp| async move {
list_posts(p, pp, None).await
.map(|r| (r.posts, r.total))
.map_err(|e| e.to_string())
},
);