Laravel Nova 选择字段选项禁用

问题描述 投票:0回答:1

我只想禁用选择列表中的一个选项,我该怎么做?

Select::make('Cloudflare', 'cloudflareId')
            ->searchable()
            ->options($allCloudflares)
            ->onlyOnForms();
laravel laravel-nova
1个回答
0
投票

这是一个 hacky 解决方案,但可能适用于您的情况。

让我们想象一下您的

$allCloudflares
数组如下所示:

$allCloudflares = [
   'cloudflare1',
   'cloudflare2',
   'cloudflare3',
];

您可以在选择的 options() 方法中使用自定义函数,如下所示:

Select::make('Size')->options(function (){
    $items = [];
    foreach ($allCloudflares as $cloudflare){
        //Your condition
        if($cloudflare == 'cloudflare2'){
            $items[$cloudflare] = ['label' => $cloudflare, 'disabled' => true];
        }else{
            $items[$cloudflare]  = ['label' => $cloudflare];
        }
    }

    return $items;
}),

在这种情况下,生成的选择将如下所示: enter image description here

如您所见,选项 2 已禁用。

© www.soinside.com 2019 - 2024. All rights reserved.