Select column
概述
下拉列表列(SelectColumn)允许你在表格内渲染下拉列表(Select),可用于在不打开新页面或模态框的情况下更新数据库记录:
你必须将选项传入到该列中:
use Filament\Tables\Columns\SelectColumn;
SelectColumn::make('status')
->options([
'draft' => 'Draft',
'reviewing' => 'Reviewing',
'published' => 'Published',
])
验证
以数组的方式传入任何 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) {
// 在状态保存到数据库之后运行
})