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

Select column

概述

下拉列表列(SelectColumn)允许你在表格内渲染下拉列表(Select),可用于在不打开新页面或模态框的情况下更新数据库记录:

你必须将选项传入到该列中:

use Filament\Tables\Columns\SelectColumn;

SelectColumn::make('status')
->options([
'draft' => 'Draft',
'reviewing' => 'Reviewing',
'published' => 'Published',
])
Select column

验证

以数组的方式传入任何 Laravel 验证规则,你可以对输入进行验证:

use Filament\Tables\Columns\SelectColumn;

SelectColumn::make('status')
->options([
'draft' => 'Draft',
'reviewing' => 'Reviewing',
'published' => 'Published',
])
->rules(['required'])

禁用占位符选择

使用 selectablePlaceholder() 方法,你可以防止占位符被选中:

use Filament\Tables\Columns\SelectColumn;

SelectColumn::make('status')
->options([
'draft' => 'Draft',
'reviewing' => 'Reviewing',
'published' => 'Published',
])
->selectablePlaceholder(false)

生命周期钩子

钩子可用于在 Select 生命周期的各个点中执行代码:

SelectColumn::make()
->beforeStateUpdated(function ($record, $state) {
// 在状态保存到数据库之前运行
})
->afterStateUpdated(function ($record, $state) {
// 在状态保存到数据库之后运行
})