outl1ne / nova-multiselect-filter
Laravel Nova 的多选过滤器。
4.0.8
2023-07-24 08:40 UTC
Requires
- php: >=8.0
- laravel/nova: ^4.0
- outl1ne/nova-translations-loader: ^5.0.0
README
此 Laravel Nova 包为 Nova 过滤器添加了多选功能。
要求
php: >=7.2
laravel/nova: ^4.0
功能
- 多选
- 单选
- 分组选择
- 搜索
截图
多选
分组选择
安装
通过 Composer 在 Laravel Nova 项目中安装此包
composer require outl1ne/nova-multiselect-filter
使用方法
当切换到 MultiselectFilter
类时,可以使用该过滤器。
use Outl1ne\NovaMultiselectFilter\MultiselectFilter; class BooksByAuthorFilter extends MultiselectFilter { public function apply(Request $request, $query, $value) { return $query->whereHas('books', function ($query) use ($value) { $query->whereIn('author_id', $value); }); } public function options(Request $request) { return Authors::all()->pluck('name', 'id'); } }
选项组
支持选项组。它们的语法与 Laravel 的选项组语法 相同。
在这个例子中(来自 Nova 文档),所有值都按 group
键分组
public function options(Request $request) { return [ 'cat' => ['label' => 'Cat', 'group' => 'Pets'], 'dog' => ['label' => 'Dog', 'group' => 'Pets'], 'eagle' => ['label' => 'Eagle', 'group' => 'Birds'], 'parrot' => ['label' => 'Parrot', 'group' => 'Birds'], ] }
选项
您可以传递给过滤器作为函数的选项名称的潜在选项,例如 ->placeholder('选择花生')
。
本地化
可以使用以下发布命令发布翻译文件
php artisan vendor:publish --provider="Outl1ne\NovaMultiselectFilter\FieldServiceProvider" --tag="translations"
然后您可以按需编辑字符串。
鸣谢
此包受到了 klepak/nova-multiselect-filter 的启发
许可
此项目是开源软件,受 MIT 许可证 许可。