This project showcases a Filament Select component that dynamically updates its options based on selections from two dependent dropdown fields. The implementation uses a hierarchical location example for a company registration form: selecting a country triggers an automatic refresh of the available states, and subsequently choosing a state updates the city options accordingly.
In this example, we have three Models:
After selecting the country, all states are shown in the states select input, and after selecting the state, the cities are shown in the cities select input.
The main key to making these three dropdowns work in the edit form is to use them as a not native browser-select input.
To show all three select inputs in one row, we group them and set the column span to full and columns to three.
use Filament\Schemas\Components\Group; Group::make() ->schema([ // All Select Inputs ]) ->columnSpanFull() ->columns(3),
For the first country
select input, we set these parameters: