amidesfahani/nova-child-select

Laravel nova 子字段。

dev-master 2022-06-04 22:07 UTC

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 森林做出贡献,您将为当地家庭创造就业机会,并恢复野生动物栖息地。