owenmelbz/nova-radio-field

Laravel Nova 单选按钮字段类型,具有切换其他字段可见性的功能。

1.0.1 2021-07-27 16:26 UTC

This package is auto-updated.

Last update: 2024-08-25 21:16:14 UTC


README

这是一个简单的 nova 字段类型,用于引入具有切换其他字段可见性能力的单选按钮。

表单视图

index view

索引视图

form view

切换模式

toggle mode

安装

composer require owenmelbz/nova-radio-field

使用方法

use OwenMelbz\RadioField\RadioButton;

public function fields(Request $request)
{
    return [
        RadioButton::make('Can view skip adverts?')
            ->options([
                0 => 'No',
                1 => ['Yes' => 'This means that users will not have to watch adverts.'],
            ])
            ->default(0) // optional
            ->stack() // optional (required to show hints)
            ->marginBetween() // optional
            ->skipTransformation() // optional
            ->toggle([  // optional
                1 => ['max_skips', 'skip_sponsored'] // will hide max_skips and skip_sponsored when the value is 1
            ])
    ];
}

配置

options()

这接受基本的字符串/整数键值对。数组的键将被保存到数据库中,而值将被显示。

如果您将数组分配给值,则当使用 stack() 时,它将作为标签和提示的键值对。

hint view

toggle()

这接受一个数组,数组的键表示字段的值。当选中此值时,项的值必须是您希望隐藏的字段数组。

例如,如果此数组被传入,当值为 1 时,将隐藏 email 字段,任何其他值将显示一切。

toggle([
    1 => ['email']
])

default()

这允许您设置默认的单选按钮,否则不会选择任何选项 - 您只需传递键的值,例如 0。

stack()

默认情况下,单选按钮将并排放置,如果您想要它们在较长的列表中堆叠在下面,请调用 stack() 方法。

marginBetween()

如果您有很多选项会折叠到两行,您可能想要给它们一些间距。

skipTransformation()

默认情况下,在索引和详细页面上,我们向用户显示标签值,如果您想显示原始值,请调用 skipTransformation()

许可

尽情发挥,做你喜欢的事 :)