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

View action

概述

Filament 包含一个可以查看 Eloquent 记录的预制 Action。点击触发按钮后,会打开一个带有信息的模态框。Filament 使用表单字段来组织这些信息。所有表单字段都是禁用状态,这样用户就不能编辑这些信息了。你可以这样使用:

use Filament\Actions\ViewAction;
use Filament\Forms\Components\TextInput;

ViewAction::make()
->record($this->post)
->form([
TextInput::make('title')
->required()
->maxLength(255),
// ...
])

如果你想查看的是表格行记录,请使用 Filament\Tables\Actions\ViewAction 替换:

use Filament\Forms\Components\TextInput;
use Filament\Tables\Actions\ViewAction;
use Filament\Tables\Table;

public function table(Table $table): Table
{
return $table
->actions([
ViewAction::make()
->form([
TextInput::make('title')
->required()
->maxLength(255),
// ...
]),
]);
}

表单填充前自定义数据

你可能想要在数据填充到表单前,对数据进行修改。为此,你可以使用 mutateRecordDataUsing() 方法,修改 $data 数组,并且返回其填充到表单前修改的版本:

ViewAction::make()
->mutateRecordDataUsing(function (array $data): array {
$data['user_id'] = auth()->id();

return $data;
})