redbastie / laravel-livewire-helpers
Laravel Livewire的一些实用助手。
1.0.3
2021-01-19 16:32 UTC
Requires
- laravel/framework: ^8.0
- livewire/livewire: ^2.0
This package is auto-updated.
Last update: 2024-09-29 05:49:03 UTC
README
此包不再维护。请考虑在此处使用我的最新包:https://github.com/redbastie/tailwire
Laravel Livewire 辅助工具
为 Laravel & Livewire 提供一些实用助手。
安装
通过 composer 安装
composer require redbastie/laravel-livewire-helpers
带数据
此特质允许你在组件中使用 $data
数组属性,这样你不需要为每个表单输入创建单独的属性。
数据建模
<input type="email" wire:model.defer="data.email">
@error('email')<p class="text-red-600">{{ $message }}</p>@enderror
数据验证
$this->validateData([
'email' => ['required', 'email'],
]);
获取数据(null 安全,使用点表示法进行嵌套数组)
$this->data('email');
无限滚动
此特质在你的组件中实现无限滚动。允许用户无限滚动查询模型列表非常有用。此特质需要一些设置。
首先,在 resources/app.js
文件中要求 infinite-scroll
(确保如果没有已经在 watch
,请运行 npm run
)
require('./bootstrap');
require('../../vendor/redbastie/laravel-livewire-helpers/resources/js/infinite-scroll');
在你的组件中,使用 $this->query()->paginate($this->perPage)
获取模型结果,并将 infiniteScroll
布尔值传递到视图中
public function render()
{
return view('livewire.vehicles', [
'vehicles' => $this->query()->paginate($this->perPage),
'infiniteScroll' => $this->infiniteScroll(),
]);
}
你的组件需要实现一个 query()
方法,该方法返回模型构建器查询
public function query()
{
return Vehicle::query()->orderBy('id');
}
最后,在视图底部包含 infinite-scroll
@include('laravel-livewire-helpers::infinite-scroll')