Combobox
Side by side combobox multiselect field.
Author:
Jesús García
Documentation
- Installation
- Usage
- Customize
- Customize the label of the boxes
- Translations
- Contributing
- Credits
- License
- Screenshot
Side by side combobox multiselect field to use in your FilamentPHP forms.
#Installation
You can install the package via composer:
composer require novadaemon/filament-combobox
This package supports Filament 3.x and 4.x
#Usage
Simply use the component as you'd use any other Filament field. It's especially perfect for the resource view page where it blends right in.
use Novadaemon\FilamentCombobox\Combobox;
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('vegetables')
->options([
'carrot' => 'Carrot',
'potato' => 'Potato',
'tomato' => 'Tomato',
])
]);
}
}
Since the Combobox component extends the Filament\Forms\Components\Select class, it is possible to use almost all methods of the parent component.
#Integrating with an Eloquent relationship
use Novadaemon\FilamentCombobox\Combobox;
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
]);
}
}
#Customize
#Enabling search in the boxes
use Novadaemon\FilamentCombobox\Combobox;
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
->boxSearchs()
]);
}
}
The boxSearchs method accepts a boolean or closure callback function.
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
->boxSearchs(fn() => auth()->user()->isAdmin())
]);
}
}
#Modifying the height of the component
Yo can change the height of the component using the height method:
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
->height('500px')
]);
}
}
#Customize the label of the boxes
Changing the label of the boxes:
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
->optionsLabel('Available categories')
->selectedLabel('Selected categories')
]);
}
}
Hiding the label on the boxes:
class FileResource extends Resource
{
public static function form(Form $form): Form
{
return $form
->schema([
Combobox::make('categories')
->relationship('categories', 'name')
->showLabels(false)
]);
}
}
#Translations
Optionally, you can publish the translations using
php artisan vendor:publish --tag="filament-combobox-translations"
Now, yo can modify or add custom translation files.
#Contributing
Contributing is pretty chill and is highly appreciated! Just send a PR and/or create an issue!
#Credits
#License
The MIT License (MIT). Please see License File for more information.
#Screenshot

The author
From the same author
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese