formfeed-uk / nova-subfield-dependson
功能允许字段在包含其他字段的情况下使用 Nova DependsOn
2.0.3
2023-03-08 20:07 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0|^9.0|^10.0
- laravel/nova: ^4.0
README
此 Laravel Nova 包包含一个界面和中间件,允许包含子字段(例如 Dependable Panel 或 Flexible Content)的字段使用 Laravel Nova 4 中的 dependsOn
功能。
只要所有包含子字段实现接口方法,任何子字段都可以嵌套在任何字段中,无论深度。
要求
php: >=8.0
laravel/nova: ^4.0
安装
- 通过 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 方法。