用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/singleton-altman/MoviePilotLite --skill load-more命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | load-more |
| description | 为分页列表添加统一的 LoadMoreFooter 组件(加载更多按钮、loading、没有更多了)。在列表底部分页、加载更多、hasMore、分页 footer 场景使用。 |
lib/widgets/load_more_footer.dart → LoadMoreFooter
has_more / hasMore 为 true 时显示「加载更多」import 'package:moviepilot_mobile/widgets/load_more_footer.dart';
// 列表有内容时放在列表底部
LoadMoreFooter(
hasMore: controller.hasMore.value,
isLoading: controller.isLoadingMore.value,
total: controller.total.value, // 可选,显示「加载更多 · 共 N」
onLoadMore: controller.loadMore,
)
| 参数 | 说明 |
|---|---|
hasMore | 是否还有下一页 |
onLoadMore | 点击回调;loading 时自动禁用 |
isLoading | 分页请求进行中 |
hasItems | 列表为空时不渲染 footer,默认 true |
total | 可选总数,拼进按钮文案 |
padding | 默认 EdgeInsets.fromLTRB(0, 12, 0, 4) |
label / endLabel | 自定义文案 |
loadMore() / loadMoreXxx():仅在 hasMore && !loading 时发起请求isLoadingMore、mediaSearching && items.isNotEmpty),避免与全页 loading 混淆total 来自 API 的 total 字段expand_more_rounded + 加粗 labelCupertinoActivityIndicator(radius: 9)lib/modules/dynamic_form/widgets/VueStyle/subtitle_manual_upload/subtitle_manual_upload_widgets.dart
mediaSearching && medias.isNotEmptymatchHistoryLoading替换 OutlinedButton.icon / 裸 CupertinoButton 加载更多:
// Before
if (hasMore)
OutlinedButton.icon(
onPressed: controller.loadMore,
icon: const Icon(Icons.expand_more),
label: Text('加载更多 · 共 $total'),
),
// After
if (items.isNotEmpty)
LoadMoreFooter(
hasMore: hasMore,
total: total,
isLoading: isLoadingMore,
onLoadMore: controller.loadMore,
),
列表为空时不放 footer;有内容且无更多时 footer 自动显示「没有更多了」。