© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•2y ago•
2 replies
shebaoting

In Form Builder, how to listen for input from forms?

Package


Form builder

Package Version


3.0

How can we help you?


In Form Builder, how to listen for input from forms? I want to trigger a method when listening to text-input or Select content change, what should I do?

For example, in the following code, I want to trigger methods or events when the content of the TextInput and Select in the Builder changes, what should I do?

class Add extends Component  implements HasForms, HasActions
{
    use InteractsWithActions;
    use InteractsWithForms;

    public OrderModel $order;
    public $productsData;

    public function render()
    {
        return view('livewire.company.order.add');
    }

    public function addOrderAction(): Action
    {
        return Action::make('addOrder')
            ->form([
                Textarea::make('notes')
                    ->rows(3),
                Builder::make('paybacks')
                    ->blocks([
                        Builder\Block::make('heading')
                            ->schema([
                                TextInput::make('amount')->numeric()->required(),
                                Select::make('status')
                                    ->options([
                                        'pending' => 'pending',
                                        'completed' => 'completed',
                                    ])->native(false)->required(),
                            ])->columns(3),
                        // ...
                    ]),
                FileUpload::make('contract')->multiple(),
            ])
            ->action(function (array $data, OrderModel $record): void {

            })
            ->mutateFormDataUsing(function (array $data): array {

            });
    }
}
class Add extends Component  implements HasForms, HasActions
{
    use InteractsWithActions;
    use InteractsWithForms;

    public OrderModel $order;
    public $productsData;

    public function render()
    {
        return view('livewire.company.order.add');
    }

    public function addOrderAction(): Action
    {
        return Action::make('addOrder')
            ->form([
                Textarea::make('notes')
                    ->rows(3),
                Builder::make('paybacks')
                    ->blocks([
                        Builder\Block::make('heading')
                            ->schema([
                                TextInput::make('amount')->numeric()->required(),
                                Select::make('status')
                                    ->options([
                                        'pending' => 'pending',
                                        'completed' => 'completed',
                                    ])->native(false)->required(),
                            ])->columns(3),
                        // ...
                    ]),
                FileUpload::make('contract')->multiple(),
            ])
            ->action(function (array $data, OrderModel $record): void {

            })
            ->mutateFormDataUsing(function (array $data): array {

            });
    }
}
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

How to access $form in Forms?
FilamentFFilament / ❓┊help
2y ago
How to listen to dispatch events in form?
FilamentFFilament / ❓┊help
3y ago
How to change theme for "Filament Form Builder"
FilamentFFilament / ❓┊help
3y ago
How to connect input form
FilamentFFilament / ❓┊help
3y ago