formfeed-uk/nova-subfield-dependson

功能允许字段在包含其他字段的情况下使用 Nova DependsOn

2.0.3 2023-03-08 20:07 UTC

This package is auto-updated.

Last update: 2024-09-08 23:20:50 UTC


README

Laravel Nova 包包含一个界面和中间件,允许包含子字段(例如 Dependable Panel 或 Flexible Content)的字段使用 Laravel Nova 4 中的 dependsOn 功能。

只要所有包含子字段实现接口方法,任何子字段都可以嵌套在任何字段中,无论深度。

要求

  • php: >=8.0
  • laravel/nova: ^4.0

安装

  1. 通过 composer 在使用 Nova 的 Laravel 应用中安装此包
composer require formfeed-uk/nova-subfield-dependson

用法

只需将包含的接口实现到您希望允许子字段使用 dependsOn 功能的任何字段中

hasSubFields

    public function hasSubfields(): bool;

此方法应返回一个布尔值,以指示当前字段实例是否有需要 dependsOn 功能的子字段。

getSubfields

    public function getSubfields(): FieldCollection;

此方法应返回一个需要 dependsOn 功能的子字段的 FieldCollection

afterDependsOnSync

    public function afterDependsOnSync() : self;

此方法在 dependsOn 同步后运行,可能需要额外的逻辑。如果没有额外逻辑,可以简单地 return $this;

已知问题

由于 Nova 的 DependantComponentKey 的工作方式,如果一个字段使用与同一请求中另一个子字段相同的 Class、Component 和 Attribute,这可能会导致冲突,导致找到错误字段。即将推出的版本将包括一个宏,允许为 Laravel\Nova\Fields\Field 设置您自己的 DependantComponentKey 方法。