© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•12mo ago•
4 replies
Nijholt

Retrieve data from a custom Filament\Actions\Action

In my action I've got a custom view:
        <x-filament::dropdown.list>
            @foreach ($getOptions() as $key => $item)
                @php
                    $wireClickAction = "mountAction('{$action->getName()}', { id: 12345 })";
                @endphp
                <x-filament::dropdown.list.item wire:click="{{ $wireClickAction }}" wire:key="{{ $key }}">
                    <x-filament::badge :color="$item->getColor()">
                        {{ $item->getLabel() }}
                    </x-filament::badge>
                </x-filament::dropdown.list.item>
            @endforeach
        </x-filament::dropdown.list>
        <x-filament::dropdown.list>
            @foreach ($getOptions() as $key => $item)
                @php
                    $wireClickAction = "mountAction('{$action->getName()}', { id: 12345 })";
                @endphp
                <x-filament::dropdown.list.item wire:click="{{ $wireClickAction }}" wire:key="{{ $key }}">
                    <x-filament::badge :color="$item->getColor()">
                        {{ $item->getLabel() }}
                    </x-filament::badge>
                </x-filament::dropdown.list.item>
            @endforeach
        </x-filament::dropdown.list>


Now when clicking on a list item the action gets triggered, but $data remains empty:

PublicationStatusAction::make('status')
            ->action(function ($data): void {
                dd($data);
            })
PublicationStatusAction::make('status')
            ->action(function ($data): void {
                dd($data);
            })


result:
[]
[]
Solution
Ok. Should have used $arguments:

PublicationStatusAction::make('status')
            ->action(function ($arguments): void {
                dd($arguments);
            })
PublicationStatusAction::make('status')
            ->action(function ($arguments): void {
                dd($arguments);
            })


So this is solved.
Jump to solution
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Form actions must be an instance of Filament\Actions\Action, or Filament\Actions\ActionGroup.
FilamentFFilament / ❓┊help
3y ago
Filament Action inside a custom Livewire component
FilamentFFilament / ❓┊help
2y ago
ActionGroup Action caching custom view
FilamentFFilament / ❓┊help
9mo ago
Pass data from custom view back to action
FilamentFFilament / ❓┊help
12mo ago