creode / collapsible-radios
为 Laravel Nova 提供的单选可折叠按钮模块。
1.1.0
2023-11-13 09:14 UTC
Requires
- php: ^7.3|^8.0
- laravel/nova: >=4.0.0
README
包含一个 Laravel Nova 字段,用于构建父子关系的可折叠单选按钮。
安装
您可以通过 composer 安装此软件包
composer require creode/collapsible-radios
用法
要创建一个新字段的实例,只需在 Nova 资源的 fields
方法中使用 CollapsibleRadios
类。您需要确保您的选项提供以下字段
label
- 要显示的选项标签value
- 选项要使用的值id
- 选项的 IDparent_id
- 父选项的 ID
这些字段用于根据 parent_ids 构建可折叠单选按钮。
以下是一个如何接受选项输入的基本示例。
use Creode\CollapseRadios\Field\CollapsibleRadios; CollapsibleRadios::make('Model', 'model_id') ->options([ [ 'label' => 'Option 1', 'value' => 1, 'id' => 1, 'parent_id' => null, ], [ 'label' => 'Option 2', 'value' => 2, 'id' => 2, 'parent_id' => 1, ], [ 'label' => 'Option 3', 'value' => 3, 'id' => 3, 'parent_id' => 2, ] ]) ->nullable() ->rules('required')
这将生成以下结构
- 选项 1
- 选项 2
- 选项 3
- 选项 2
或者如果您想轻松地将模型数据映射到它
use Creode\CollapseRadios\Field\CollapsibleRadios; CollapsibleRadios::make('Model', 'model_id') ->options( Model::all()->map( function ($model) { return [ 'label' => $model->name, 'value' => $model->id, 'id' => $model->id, 'parent_id' => $model->parent_id ?: null, ]; } ) ) ->nullable() ->rules('required')
路线图
随着我们对这个项目需求的不断发展,我们计划实现以下功能
- 允许选择默认选项
- 允许选择多个选项
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
致谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。