onemoreahmad/nova-radio-field

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

dev-master 2022-12-06 10:05 UTC

This package is not auto-updated.

Last update: 2024-09-25 16:26:23 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()

许可

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