自定义布局
视图组件
除了创建自定义布局组件,你可以创建视图组件。它允许你可以在不使用额外 PHP 类的情况下,创建自定义布局。
use Filament\Forms\Components\View;
View::make('filament.forms.components.wizard')
这段代码假定你有这么一个文件 resources/views/filament/forms/components/wizard.blade.php
。
自定义布局类
你可以创建自定义的组件类和视图,使之可以在整个项目中重用,甚至作为插件发布到社区中。
如果你只想创建一个使用一次的简单自定义组件,你可以使用视图组件来渲染任何自定义 Blade 文件。
要创建自定义表单布局类和视图,你可以使用如下命令:
php artisan make:form-layout Wizard
该命令回创建如下布局组件类:
use Filament\Forms\Components\Component;
class Wizard extends Component
{
protected string $view = 'filament.forms.components.wizard';
public static function make(): static
{
return app(static::class);
}
}
同时也会创建一个视图文件:resources/views/filament/forms/components/wizard.blade.php
。
渲染组件的 schema
在视图内,你可以使用 $getChildComponentContainer()
函数,渲染组件的 schema()
:
<div>
{{ $getChildComponentContainer() }}
</div>
访问 Eloquent 记录
在视图内,你可以使用 $getRecord()
函数访问 Eloquent 记录:
<div>
{{ $getRecord()->name }}
</div>