amidesfahani / nova-child-select
Laravel nova 子字段。
dev-master
2022-06-04 22:07 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-05 03:19:35 UTC
README
此字段允许您根据父选择字段的值动态填充选择框的选项。
与 Nova 标签页兼容!
该字段基于 nova-ajax-select。但是,您可以通过闭包函数填充选项,而不是提供 API 端点。
安装
composer require amidesfahani/nova-child-select
用法
类在 Laravel Nova 默认 Select 上增加了 2 个特殊方法。 parent
应该是一个选择字段或另一个依赖于该字段的子选择字段。 options
应该是一个可调用对象。它将接收父选择字段的值作为第一个参数,并应返回一个要显示在子选择字段上的数组。
示例
use Amidesfahani\ChildSelect\ChildSelect;
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Select::make('Country')
->options(Country::all()->mapWithKeys(function ($country) {
return [$country->id => $country->name];
}))
->rules('required'),
ChildSelect::make('City')
->parent('country')
->options(function ($value) {
City::whereCountry($value)->get()->mapWithKeys(function ($city) {
return [$city->id => $city->name];
});
})
->rules('required'),
];
}
已分支
https://github.com/alvinhu/nova-child-select
许可协议
此包是 Treeware。如果您在生产环境中使用它,我们要求您 为世界买一棵树 以感谢我们的工作。通过为 Treeware 森林做出贡献,您将为当地家庭创造就业机会,并恢复野生动物栖息地。