{ "slug": "infinitescroll", "curated": true, "mode": "scenarios", "examples": [ { "id": "infinitescroll-ex-1", "title": "默认与常用变体", "titleSrc": "demo", "desc": "", "html": "
\n
\n
\n
活动记录 1
\n
活动记录 2
\n \n
\n
\n
", "preview": { "show": [ [ 0, 2 ] ], "hide": [ [ 1 ], [ 0, 0 ], [ 0, 1 ], [ 0, 3 ], [ 0, 2, 0 ] ], "mode": "scenarios" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "
\n
\n
活动记录 1
\n
活动记录 2
\n \n
\n
", "jsx": "import { useState } from 'react';\nimport { KoleInfiniteScroll } from 'kole-ui/react';\n\nfunction Demo() {\n const [items, setItems] = useState(['活动记录 1', '活动记录 2']);\n const [loading, setLoading] = useState(false);\n const [status, setStatus] = useState('more');\n\n function loadMore() {\n setLoading(true);\n setTimeout(() => {\n setItems((prev) => {\n const next = prev.concat('活动记录 ' + (prev.length + 1));\n if (next.length >= 3) setStatus('done');\n return next;\n });\n setLoading(false);\n }, 600);\n }\n\n return (\n \n );\n}", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { useState } from 'react';\nimport { KoleInfiniteScroll } from 'kole-ui/react';\n\nfunction Demo(): JSX.Element {\n const [items, setItems] = useState(['活动记录 1', '活动记录 2']);\n const [loading, setLoading] = useState(false);\n const [status, setStatus] = useState('more');\n\n function loadMore(): JSX.Element {\n setLoading(true);\n setTimeout(() => {\n setItems((prev) => {\n const next = prev.concat('活动记录 ' + (prev.length + 1));\n if (next.length >= 3) setStatus('done');\n return next;\n });\n setLoading(false);\n }, 600);\n }\n\n return (\n \n );\n}\n\nexport default Demo;", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": [ "依据 frameworks/InfiniteScroll.html 内联脚本:点击 [data-load] 追加一条「活动记录 3」后把按钮置为已加载;对应 props items/loading/status/height 与 onLoadMore(见 frameworks/InfiniteScroll.jsx 的 status='more' 分支文案「加载更多 / 加载中… / 已全部加载」)" ] }, { "id": "infinitescroll-ex-2", "title": "状态与使用场景", "titleSrc": "demo", "desc": "", "html": "
\n
\n
逐批加载动态流或长列表,明确展示加载中、完成和可重试状态。
\n 支持键盘焦点、状态反馈和令牌化样式。\n
\n

零运行时依赖;数据请求、权限和国际化由宿主接入方决定。

\n
", "preview": { "show": [ [ 0, 3 ] ], "hide": [ [ 1 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 0, 3, 0 ] ], "mode": "scenarios" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "
\n
逐批加载动态流或长列表,明确展示加载中、完成和可重试状态。
\n 支持键盘焦点、状态反馈和令牌化样式。\n
\n

零运行时依赖;数据请求、权限和国际化由宿主接入方决定。

", "jsx": "import { KoleInfiniteScroll } from 'kole-ui/react';\n\n<>\n \n \n \n", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { KoleInfiniteScroll } from 'kole-ui/react';\n\nexport default function KoleInfiniteScrollDemo(): JSX.Element {\n return (\n <>\n \n \n \n \n );\n}", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": [ "依据 frameworks/InfiniteScroll.jsx 的 status 三态分支(more/loading/done 对应按钮文案「加载更多 / 加载中… / 已全部加载」)与演示页 section「状态与使用场景」的文案;status 取值见 data.json contract dims status:[more,loading,done]" ] } ] }