Icon column
概述
图标列字段用来渲染表示其内容的图标:
use Filament\Tables\Columns\IconColumn;
IconColumn::make('status')
->icon(fn (string $state): string => match ($state) {
'draft' => 'heroicon-o-pencil',
'reviewing' => 'heroicon-o-clock',
'published' => 'heroicon-o-check-circle',
})
该函数中,$state
是列字段的值,$record
可用于访 问 Eloquent 记录。
自定义颜色
图标列也有一套图标颜色。颜色值可以是 danger
、gray
、info
、primary
、success
或者 warning
:
use Filament\Tables\Columns\IconColumn;
IconColumn::make('status')
->color(fn (string $state): string => match ($state) {
'draft' => 'info',
'reviewing' => 'warning',
'published' => 'success',
default => 'gray',
})
该函数中,$state
是列字段的值,$record
可用于访问 Eloquent 记录。
自定义大小
图标默认大小是 IconColumnSize::Large
,不过你可以将其自定 义为 IconColumnSize::ExtraSmall
、IconColumnSize::Small
、IconColumnSize::Medium
、IconColumnSize::ExtraLarge
或 IconColumnSize::TwoExtraLarge
:
use Filament\Tables\Columns\IconColumn;
IconColumn::make('status')
->size(IconColumn\IconColumnSize::Medium)