跳到主要内容
版本:3.0

自定义布局

视图组件

除了创建自定义布局组件,你可以创建视图组件。它允许你可以在不使用额外 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>