alvinhu/nova-child-select

此包已被废弃,不再维护。未建议替代包。

Laravel nova 子字段。

1.0.5 2019-05-06 13:50 UTC

This package is auto-updated.

Last update: 2022-07-06 20:59:48 UTC


README

该字段允许您根据父选择字段中的值动态填充选择框的选项。

该字段基于 nova-ajax-select。但不是提供API端点,而是可以通过闭包函数填充选项。

安装

composer require alvinhu/nova-child-select

用法

该类在Laravel Nova的默认Select之上有两个特殊方法。 parent 应该是一个选择字段或另一个依赖于该字段的子选择。 options 应该是一个可调用对象。它将接收父选择字段的值作为第一个参数,并应返回一个要显示在子选择字段上的数组。

示例

use Alvinhu\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'),
        ];
    }