自定义 Entry
View entries
你可以使用 view()
方法,为一个 Entry 渲染自定义视图:
use Filament\Infolists\Components\ViewEntry;
ViewEntry::make('status')
->view('filament.infolists.entries.status-switcher')
该代码假定你有一个 resources/views/filament/infolists/entries/status-switcher.blade.php
文件。
自定义类
你可以创建自定义的 Entry 类及视图,将其在跨项目中重用,甚至可以将其作为插件发布到社区。
如果你只要创建一个只用一次的简单自定义 Entry,你可以使用 View Enty 来渲染任何自定义 Blade 文件。
要创建自定义 Entry 类及视图,你可以使用如下命令:
php artisan make:infolist-entry StatusSwitcher
该命令会创建以下 Entry 类:
use Filament\Infolists\Components\Entry;
class StatusSwitcher extends Entry
{
protected string $view = 'filament.infolists.entries.status-switcher';
}
同时也会创建一个视图文件:resources/views/filament/infolists/entries/status-switcher.blade.php
。
访问 state
在视图内部,你可以使用 $getState()
函数查询该 Entry 的状态(state):
<div>
{{ $getState() }}
</div>
访问 Eloquent 记录
在视图内部,你可以使用 $getRecord()
函数访问 Eloquent 记录:
<div>
{{ $getRecord()->name }}
</div>