占位符
概述
占位符(Placeholder)可用于在表单中渲染只读字段。每个占位符都有其内容 - content()
,用户不能修改。
use App\Models\Post;
use Filament\Forms\Components\Placeholder;
Placeholder::make('created')
->content(fn (Post $record): string => $record->created_at->toFormattedDateString())
重要: 所有表单字段都要求唯一名称。这同样适用于占位符字段!
在占位符字段内渲染 HTML
你甚至可以在占位符内容中渲染 HTML:
use Filament\Forms\Components\Placeholder;
use Illuminate\Support\HtmlString;
Placeholder::make('documentation')
->content(new HtmlString('<a href="https://filamentphp.com/docs">filamentphp.com</a>'))
动态生成占位符内容
传递闭包给 content()
方法,你可以动态生成占位符内容。高级闭包自定义文档中所介绍的所有闭包参数,你都可以获取:
use Filament\Forms\Components\Placeholder;
use Filament\Forms\Get;
Placeholder::make('total')
->content(function (Get $get): string {
return '€' . number_format($get('cost') * $get('quantity'), 2);
})