luckykenlin / livewire-tables
livewire-tables
4.0.1
2023-10-11 21:51 UTC
Requires
- php: ^8.1|^8.2
- illuminate/support: ^9.0|^10.0|^11.0
- livewire/livewire: ^v3.0.0-beta.1
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- brianium/paratest: ^v7.2.4
- laravel/framework: ^10.0|^11.0
- laravel/legacy-factories: ^v1.3.2
- nunomaduro/collision: ^v7.7.0
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.5.4
- vimeo/psalm: ^4.4
README
为 Laravel 开发的动态 livewire 表格组件。
要求
安装
您可以通过 composer 安装此包
composer require luckykenlin/livewire-tables
文档
https://luckykenlin.github.io/livewire-tables/
用法
创建表格
要创建表格组件,您可以从以下示例中获得灵感
php artisan make:table UsersTable
要指定模型使用 --model
php artisan make:table UsersTable --model=User
<?php namespace App\Http\Livewire; use App\Models\User; use Illuminate\Database\Eloquent\Builder; use Luckykenlin\LivewireTables\Views\Action; use Luckykenlin\LivewireTables\Views\Column; use Luckykenlin\LivewireTables\LivewireTables; class UsersTable extends LivewireTables { public function query(): Builder { return User::query(); } public function columns(): array { return [ Column::make('#', 'id')->sortable(), Column::make('Name', 'name')->searchable()->sortable(), Column::make('Email', 'email')->searchable()->sortable(), Action::make() ]; } }
您的组件必须实现两种方法
/** * This defines the start of the query, usually Model::query() but can also eager load relationships and counts if needed. */ public function query() : Builder; /** * This defines the columns of the table, they don't necessarily have to map to columns on the database table. */ public function columns() : array;
渲染表格
将以下内容放置在您希望表格出现的位置。
<livewire:users-table />
待办/路线图
- 用户列选择
- 批量操作
- 日期筛选
- 选择筛选
- 多选筛选
- 批量操作
- CDN CSS
- 测试套件
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可协议
MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。