自定义字段
视图字段
除了创建自定义字段,你可以创建 "view" 字段,允许你在不使用额外的 PHP 类的情况下,创建自定义字段。
use Filament\Forms\Components\ViewField;
ViewField::make('rating')
->view('filament.forms.components.range-slider')
这假定你有一个 resources/views/filament/forms/components/range-slider.blade.php
文件。
传入数据到视图字段中
使用 viewData()
你可以传入视图数据的简单数组:
use Filament\Forms\Components\ViewField;
ViewField::make('rating')
->view('filament.forms.components.range-slider')
->viewData([
'min' => 1,
'max' => 5,
])
此外,更复杂的配置请查阅自定义字段类
自定义字段类
你可以创建自定义的字段类和视图,使之可以在整个应用中重用,甚至将其作为插件发布到社区。
如果你只是创建一个使用一次的简单自定义字段,你可以使用视图字段来渲染自定义 Blade 文件。
要创建自定义字段类和视图,请使用如下命令:
php artisan make:form-field RangeSlider
该命令将会创建如下字段类:
use Filament\Forms\Components\Field;
class RangeSlider extends Field
{
protected string $view = 'filament.forms.components.range-slider';
}
同时会新建一个 resources/views/filament/forms/components/range-slider.blade.php
视图文件。