承接 ramiro1982/livewire-infinite-feed 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ramiro1982/livewire-infinite-feed

最新稳定版本:v0.4.3

Composer 安装命令:

composer require ramiro1982/livewire-infinite-feed

包简介

Livewire infinite scroll feed component

README 文档

README

A reusable Livewire component that provides infinite scroll functionality for any Eloquent model.

Ideal for feeds, post-listings, news pages, and more.

🚀 Installation

You can install the package via Composer:

composer require ramiro1982/livewire-infinite-feed:^0.4.3

🧑‍💻 Basic Usage

<livewire:infinite-feed 
    model="App\\Models\\Post"
    item-view="components.post" 
    per-page="10" 
/>

🛠️ Required Parameters

  • model (string): Fully qualified class name of the Eloquent model.
  • item-view (string): Blade partial used to render each item in the feed.

When rendering, the component will include your partial like this:

@include($this->itemView, ['post' => $item])

ℹ️ The variable name (e.g., post) is derived from the model name in lowercase.

⚙️ Optional Parameters

  • per-page (int): Number of items per scroll (default: 10)
  • placeholder (string): View shown as placeholder during lazy loading — requires using the lazy attribute
  • with (array): Relationships to eager load

⚠️ Use the : prefix in Blade to pass the with parameter as a PHP array:

<livewire:infinite-feed 
    model="App\\Models\\Post" 
    item-view="components.post"
    :with="['author', 'tags']"
/>

🕳️ Placeholder View

To show a placeholder while the component loads, provide a custom view and use lazy:

<livewire:infinite-feed 
    model="App\\Models\\Post"
    item-view="components.post"
    placeholder="components.feed-placeholder"
    lazy
/>

🧩 Overriding the Default View and Placeholder

To customize the default views, publish them with:

php artisan vendor:publish --tag=views

This will copy the files to:

  • resources/views/vendor/infinite-feed/feed.blade.php
  • resources/views/vendor/infinite-feed/placeholder.blade.php

The default view uses Tailwind CSS and Flux UI components.

⚙️ Requirements

This component requires Alpine.js to handle scroll detection.

Via CDN:

<script src="https://unpkg.com/alpinejs" defer></script>

Or via NPM (Vite):

npm install alpinejs
// app.js
import Alpine from 'alpinejs'
window.Alpine = Alpine
Alpine.start()

🔄 Refreshing the Feed

If your application allows creating new items via another component, you can automatically refresh the feed by dispatching the item-added event.

🙌 Created by

Made with 💻 and ☕ by Ramiro Rimoldi

🤝 Contributing

Pull requests and suggestions are welcome! If you find a bug or want to add a feature, feel free to open an issue or PR.

📄 License

MIT © RAMIRO1982

统计信息

  • 总下载量: 12
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-30