Table Builder - Columns
Select column
Overview
The select column allows you to render a select field inside the table, which can be used to update that database record without needing to open a new page or a modal.
You must pass options to the column:
use Filament\Tables\Columns\SelectColumn; SelectColumn::make('status') ->options([ 'draft' => 'Draft', 'reviewing' => 'Reviewing', 'published' => 'Published', ])
Validation
You can validate the input by passing any Laravel validation rules in an array:
use Filament\Tables\Columns\SelectColumn; SelectColumn::make('status') ->options([ 'draft' => 'Draft', 'reviewing' => 'Reviewing', 'published' => 'Published', ]) ->rules(['required'])
Disabling placeholder selection
You can prevent the placeholder from being selected using the selectablePlaceholder()
method:
use Filament\Tables\Columns\SelectColumn; SelectColumn::make('status') ->options([ 'draft' => 'Draft', 'reviewing' => 'Reviewing', 'published' => 'Published', ]) ->selectablePlaceholder(false)
Lifecycle hooks
Hooks may be used to execute code at various points within the select's lifecycle:
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 GitHubStill need help? Join our Discord community or open a GitHub discussion