uluumbch/alpine-select-livewire
Pros:
Cons:
wire:defer and pagination.livewire-select or laravel-html components)?filament/forms, livewire-select) been evaluated for simpler needs?alpinejs is included via Livewire’s default setup (check resources/js/app.js).<select> or custom select logic with:
<x-alpine-select-livewire
wire:model="selectedItems"
:options="$options"
type="multi" <!-- or "single" -->
placeholder="Search..."
/>
$options is formatted as an array of objects with value/label keys (or customize via option-value/option-label props).$options = User::select('id', 'name')->get()->map(fn ($user) => [
'value' => $user->id,
'label' => $user->name,
]);
drag-order prop:
<x-alpine-select-livewire
wire:model="orderedItems"
:options="$options"
type="multi"
drag-order
/>
public $orderedItems = [];
protected $rules = [
'orderedItems' => 'array',
];
wire:defer to ensure smooth reactivity.vendor/livewire/livewire/resources/js/alpine.js).wire:ignore or wire:effect for complex interactions.wire:ignore for non-critical elements or implement batch updates.| Scenario | Impact | Mitigation |
|---|---|---|
| Livewire update conflicts | Component freezes or data loss | Test with wire:defer; use transactions. |
| Alpine.js version mismatch | Drag-and-drop fails | Pin Alpine.js version in Livewire. |
| Tailwind conflicts | Styling breaks | Override with !important or custom CSS. |
| Large dataset timeouts | Slow UI or server errors | Implement pagination/server-side filtering. |
| Drag-and-drop race conditions | Inconsistent ordering | Use Livewire’s wire:key or debounce events. |
wire:model).@dragstart, @change).How can I help you explore Laravel packages today?