pinedev/nova-dependency-container

Laravel Nova 字段容器,允许依赖于其他字段的值

0.0.1 2019-03-18 17:00 UTC

This package is auto-updated.

Last update: 2024-09-19 09:58:01 UTC


README

Latest Version on Packagist Total Downloads License

!!!!!!! 从 https://github.com/epartment/nova-dependency-container 克隆而来

看起来原始包自2018年10月以来未更新。因此,此包包含自定义更新、错误修复、改进等

描述

一个用于将依赖于其他字段值的字段分组在一起的容器。可以在任何字段类型或值上设置依赖。

演示

Demo

安装

可以通过Composer安装此包。

composer require pinedev/nova-dependency-container

用法

  1. PineDev\NovaDependencyContainer\HasDependencies 特性添加到您的 Nova 资源中。
  2. PineDev\NovaDependencyContainer\NovaDependencyContainer 添加到您的 Nova 资源 fields 方法中。
class Page extends Resource
{
    use HasDependencies;

    public function fields(Request $request)
    {
        return [
            
            Select::make('Name format', 'name_format')->options([
                0 => 'First Name',
                1 => 'First Name / Last Name',
                2 => 'Full Name'
            ])->displayUsingLabels(),

            NovaDependencyContainer::make([
                Text::make('First Name', 'first_name')
            ])->dependsOn('name_format', 0),

        ];
    }
}

依赖项

该包支持两种类型的依赖

  1. ->dependsOn('field', 'value')
  2. ->dependsOnNotEmpty('field')

这些依赖可以通过在 NovaDependencyContainer 上链式调用方法来组合

NovaDependencyContainer::make(...)
    ->dependsOn('field1', 'value1')
    ->dependsOnNotEmpty('field2')
    ->dependsOn('field3', 'value3')

用作依赖的字段可以是任何默认 Laravel Nova 字段类型。

例如,一个复选框

Demo

许可

MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。

源代码包:MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。