我只想禁用选择列表中的一个选项,我该怎么做?
Select::make('Cloudflare', 'cloudflareId')
->searchable()
->options($allCloudflares)
->onlyOnForms();
这是一个 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;
}),
如您所见,选项 2 已禁用。