Persistent Livewire Modal State Issue with Multiple Header Actions

Environment:

  • Filament Version: 3
  • Laravel Version: 12
  • PHP Version: 8.3
Problem Description:

I have a Filament table with two headerActions: a default ExportAction and a custom Action that opens a modal with a file upload form.

When I click the first action (e.g., Export), its modal opens correctly. However, after closing it, if I click the second action (the custom one), the first action’s (Export) modal opens again instead of its own. The same happens in reverse.

What Has Been Tried (Diagnostics):

  1. Unique Names: We ensured both actions had unique names using ->make('unique-name'). The rendered HTML confirmed the wire:click handlers were correct (mountTableAction('export') and mountTableAction('searchSimilar')), but the issue persisted.
  2. Inline Action: To completely eliminate any conflict with the custom class, we rewrote the action directly inside the headerActions array within the Resource file. The issue still occurs even with this setup.
// In PartResource.php

// Required imports:
use App\Jobs\ProcessPartSimilarSearchJob;
use App\Models\Source;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Select;
use Filament\Notifications\Notification;
use Filament\Tables\Actions\Action;
use Filament\Tables\Actions\ExportAction;
use Illuminate\Support\Facades\Auth;

// ...

->headerActions([
    ExportAction::make('export')
        >exporter(PartExporter::class),

    PartSimilarSearchTableAction::make('searchSimilar'),
])
Was this page helpful?