跳到主要内容
版本:3.x

自定义 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>