williamug/searchable-select
Feature-rich searchable select for Laravel Livewire 3/4, powered by Alpine.js and styled with Tailwind. Supports single and multi-select, grouped options, cascading dropdowns, clear button, dark mode, accessibility, and real-time client-side search.
wire:model binding) and Alpine.js for client-side interactivity. This aligns perfectly with modern Laravel frontend architectures where Livewire handles state management.wire:model binding eliminates the need for manual value synchronization.optionValue, optionLabel, and grouped allow fine-grained control over data representation, accommodating diverse use cases (e.g., multi-select, cascading dropdowns).@error directives), streamlining form handling.Data Source Strategy:
updatedProperty) or load all options upfront? For large datasets, lazy loading may be necessary.Styling Consistency:
Accessibility:
Multi-Select Complexity:
Fallback for Non-Tailwind Users:
tailwind.config.js or CSS files to include vendor views.php artisan vendor:publish --tag=searchable-select-views).composer require williamug/searchable-select.wire:model binding.@error directives).wire:model).optionValue/optionLabel props).<select> with JavaScript enhancements.livewire-select or laravel-vue-select.options are optimized (e.g., indexing, pagination).options array in the Livewire component’s mount() method or use Laravel’s cache system.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Tailwind misconfiguration | Component appears unstyled/invisible | Verify @source directive or tailwind.config.js. |
| Livewire binding errors | Selected values not saved | Check wire:model prop and server-side property. |
| Large dataset performance issues | Slow search, UI lag | Implement debouncing or server-side filtering. |
| Data format mismatches | Options not displayed correctly | Validate optionValue/optionLabel props. |
| Alpine.js conflicts | Component fails to render | Ensure no duplicate Alpine.js instances. |
| Livewire version incompatibility | Component breaks | Pin Livewire version |
How can I help you explore Laravel packages today?