tv2regionerne / statamic-endless
该包最新版本(v1.3.0)没有可用的许可信息。
v1.3.0
2024-09-09 09:07 UTC
Requires
- livewire/livewire: ^3.4
- statamic/cms: ^4.48 || ^5.0
This package is auto-updated.
Last update: 2024-09-09 09:07:21 UTC
README
Statamic Endless 允许您创建无限滚动列表,当您到达列表底部时自动或手动加载新条目。
如何安装
您可以在 Statamic 控制面板的 工具 > 扩展
部分搜索此插件,并点击 安装,或者从项目根目录运行以下命令
composer require tv2regionerne/statamic-endless
如何使用
请确保 Livewire v3 已安装,然后使用 collection:endless
标签
{{ collection:endless as="posts" from="blog" paginate="5" }} <div x-ref="append"> {{ posts }} {{ partial:blog/post }} {{ /posts }} </div> <button x-on:click="trigger" x-show="paginate.has_more_pages">Load More</button> {{ /collection:endless }}
带有拦截器的示例
{{ collection:endless as="posts" from="blog" paginate="5" }} <div x-ref="append"> {{ posts }} {{ partial:blog/post }} {{ /posts }} </div> <div x-data="{ intersecting: false, init() { $watch('intersecting', () => this.check()); }, check() { if (this.intersecting && paginate.has_more_pages) { trigger().then(() => this.check()); } }, }" x-show="!loading && paginate.has_more_pages" x-intersect:enter="intersecting = true" x-intersect:leave="intersecting = false"> </div> {{ /collection:endless }}
您必须启用分页。
内容将包裹在 Livewire/Alpine 组件中
- 您应该为包含列表的元素添加
x-ref
为append
或prepend
。 - 您可以使用
x-intersect
或x-on
调用trigger
以加载更多条目。 - 您可以使用
loading
检查加载状态。
在次级加载时,从标签作用域外部传递的变量只有在将它们列在 context
参数(管道分隔)中时才可用。这些变量必须是可序列化的。