Languages

Version

Theme

表格 - Columns

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) {
        // Runs before the state is saved to the database.
    })
    ->afterStateUpdated(function ($record, $state) {
        // Runs after the state is saved to the database.
    })
Edit on GitHub

Still need help? Join our Discord community or open a GitHub discussion

Previous
Color column