Picker
A plugin that allows you to pick a value from a list of options.
Author:
Martin Hwang
Documentation
A Regular Picker for Filament Form.


#Installation
You can install the package via composer:
composer require icetalker/filament-picker
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-picker-view"
#Usage
public function form(Form $form): Form
{
return $form
->schema([
Picker::make('transport')
->label('Transport')
->options([
'ship' => 'By Sea',
'airplane' => 'By Air',
'truck' => 'By Truck',
])
->icons([
'ship' => 'heroicon-o-home',
'airplane' => 'heroicon-o-paper-airplane',
'truck' => 'heroicon-o-truck',
])
->imageSize(100)
->images([
'ship' => 'https://source.unsplash.com/random/100x100/?ship',
'airplane' => 'https://source.unsplash.com/random/100x100/?airplane',
'truck' => 'https://source.unsplash.com/random/100x100?truck',
])
->default('ship'),
]);
}
#Define Options
To define options, you can use the options() method and pass an array of key-value pairs. The key will be the value of the option, and the value will be the label to be displayed.
Picker::make('transport')
->options([
'ship' => 'By Sea',
'airplane' => 'By Air',
'truck' => 'By Truck',
]);
#Add Icons
To add icons, you can use the icons() method and pass an array of key-value pairs. The key will be the value of the option, and the value will be the icon to be displayed:
Picker::make('transport')
->label('Transport')
->options([
'ship' => 'By Sea',
'airplane' => 'By Air',
'truck' => 'By Truck',
])
->icons([
'ship' => 'heroicon-o-home',
'airplane' => 'heroicon-o-paper-airplane',
'truck' => 'heroicon-o-truck',
])
#Add Images
To add images, you can use the images() method and pass an array of key-value pairs. The key will be the value of the option, and the value will be the image url to be displayed:
Picker::make('transport')
->label('Transport')
->options([
'ship' => 'By Sea',
'airplane' => 'By Air',
'truck' => 'By Truck',
])
->images([
'ship' => 'https://source.unsplash.com/random/100x100/?ship',
'airplane' => 'https://source.unsplash.com/random/100x100/?airplane',
'truck' => 'https://source.unsplash.com/random/100x100?truck',
]);
The size of images is 50x50 by default, you can custom the size of images by using the imageSize() method and pass the size in pixels.
#Default Value
To set a default value, you can use the default() method and pass the value of the option:
Picker::make('transport')
->label('Transport')
->options([
'ship' => 'By Sea',
'airplane' => 'By Air',
'truck' => 'By Truck',
])
->default('ship');
#Todo
- Add Relationship Support
- Add Validation
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Table Repeatable Entry
An infolist entry used to display a RepetableEntry as a table.
Author:
Martin Hwang
ChatGPT Bot
Talk to ChatGPT Inside Filament.
Author:
Martin Hwang
Stepper
A Form Component for Number Input.
Author:
Martin Hwang
Table Repeater
Filament Repeater display in table layout.
Author:
Martin Hwang
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
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
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