Začínáme
Řešení potíží
Běžné problémy a jejich nápravy. Většina jsou nesoulady konfigurace v hostitelské Laravel aplikaci, ne bugy ve Wire.
Na této stránce
- Tlačítka a inputy jsou neviditelné
- Komponenty se vykreslují bez stylů
- Slide-over je ukotvený vlevo, přetéká nebo nejde scrollovat
- „No publishable resources for tag"
- Chyby Alpine nebo komponenty reagující dvakrát
- JavaScript pole neběží uvnitř modalu
- save() vyhodí chybu bez modelu
- Notifikace / toasty se neobjevují
- Validační chyby se nezobrazují
- Pořád zaseknutí?
Běžné problémy a jejich nápravy. Většina jsou nesoulady konfigurace v hostitelské Laravel aplikaci, ne bugy ve Wire.
Tlačítka a inputy jsou neviditelné
Příznak: Tlačítka, badge a focus ringy se vykreslí jako bílé-na-průhledném nebo zmizí úplně.
Příčina: Tailwind barva primary není definovaná. Wire používá primary pro
každý akcent, takže bez ní tyto prvky nemají barvu.
Náprava: Definujte primary v konfiguraci Tailwindu — viz
Začínáme → Barva primary a
Vzhled → Barvy.
Komponenty se vykreslují bez stylů
Příznak: Markup se objeví, ale bez Tailwind stylování.
Příčina: Tailwind neskenuje vendor pohledy Wire, takže se jejich třídy odstraní z buildu.
Náprava: Přidejte cesty k pohledům Wire do pole content v Tailwindu:
content: [ './vendor/nyoncode/wire-core/resources/views/**/*.blade.php', './vendor/nyoncode/wire-core/src/**/*.php', './vendor/nyoncode/wire-forms/resources/views/**/*.blade.php', './vendor/nyoncode/wire-forms/src/**/*.php', './vendor/nyoncode/wire-table/resources/views/**/*.blade.php', './vendor/nyoncode/wire-table/src/**/*.php', './vendor/nyoncode/wire-sortable/resources/views/**/*.blade.php', './vendor/nyoncode/wire-sortable/src/**/*.php',],
Cesty src/**/*.php jsou důležité: některé komponenty skládají své utility třídy
v PHP (pozicování, šířka, výška), takže skenování jen Blade pohledů nechá tyto
třídy odstraněné. Na Tailwindu 4 přidejte odpovídající @source řádky pro
resources/views i src (viz průvodce začínáme).
Poté přebuildujte assety (npm run build nebo npm run dev).
Slide-over je ukotvený vlevo, přetéká nebo nejde scrollovat
Příznak: Slide-over akce (->slideOver()) se objeví přišpendlený vlevo
se ztmavenou stránkou vpravo, jeho obsah přetéká za viewport, patička sedí
mimo obrazovku dole a tělo nejde scrollovat.
Příčina: Slide-over skládá své utility pro pozicování, šířku a výšku v PHP
(SlideOverComponent), ne v Blade souboru — třídy jako sm:right-0,
sm:pl-10, sm:h-full, max-h-[85vh] a sm:max-w-2xl. Pokud Tailwind skenuje
jen resources/views a ne src balíčku, tyto třídy se odstraní: bez sm:right-0
panel spadne vlevo a bez výškových utilit není nikdy omezený na výšku, takže
přetéká místo scrollování těla.
Náprava: Přidejte cesty src/**/*.php (Tailwind 3) nebo odpovídající @source
řádky (Tailwind 4) podle Komponenty se vykreslují bez stylů,
pak přebuildujte. Viz také průvodce začínáme.
„No publishable resources for tag"
Příznak: vendor:publish hlásí žádné zdroje pro tag jako
wire-forms-config.
Příčina: Publish tagy Wire používají oddělovač ::, ne pomlčku.
Náprava: Použijte správný formát tagu:
php artisan vendor:publish --tag=wire-forms::config # ✅php artisan vendor:publish --tag=wire-forms::viewsphp artisan vendor:publish --tag=wire-forms::translations
Skupiny jsou config, views, translations a (kde je to relevantní)
migrations — každá s prefixem krátkého názvu balíčku a ::.
Chyby Alpine nebo komponenty reagující dvakrát
Příznak: Chyby v konzoli o dvojité inicializaci Alpine, nebo direktivy spouštějící se dvakrát.
Příčina: Alpine byl nainstalován a nastartován samostatně. Livewire 3 už Alpine dodává a startuje.
Náprava: Odstraňte jakoukoli samostatnou instalaci Alpine a volání
Alpine.start(). Nechte ho poskytnout Livewire.
JavaScript pole neběží uvnitř modalu
Příznak: JS-based pole funguje na normální stránce, ale je mrtvé při otevření v modalu nebo po Livewire updatu.
Příčina: Prostý <script> tag injektovaný přes DOM morphing Livewire se nikdy
nespustí.
Náprava: Načtěte skript pomocí direktivy @assets Livewire (vestavěný
TiptapEditor to dělá). Pokud stavíte vlastní JS pole, následujte stejný
vzor — viz
Rozšíření formulářů → JS-based pole.
save() vyhodí chybu bez modelu
Příznak: Volání $form->save() vyhodí chybu.
Příčina: Formulář nemá model (model(null) nebo žádný nastavený), takže není
co uložit.
Náprava: Buď nastavte model (->model(User::class) pro create,
->model($user) pro update), poskytněte vlastní perzistenci pomocí
->using(...), nebo místo toho zavolejte ->validate(), když potřebujete jen
data. Viz Režimy modelu.
Notifikace / toasty se neobjevují
Příznak: Akce uspějí, ale žádný toast ani notifikace se nezobrazí.
Příčina: V layoutu chybí kontejner notifikací.
Náprava: Přidejte ho jednou blízko konce <body>:
<x-wire-notifications::toast-container />
Layout viz Začínáme a Core → Notifikace.
Validační chyby se nezobrazují
Příznak: Validace selže (uložení je zablokováno), ale pod polem se nevykreslí žádná zpráva.
Příčina: statePath formuláře neodpovídá vlastnosti komponenty držící stav,
takže se klíče chyb a cesty polí rozcházejí.
Náprava: Ujistěte se, že ->statePath('data') odpovídá veřejné vlastnosti
(public array $data = []) a že formulář vykreslujete pomocí {{ $this->form }}.
Chyby polí jsou klíčované plnou state cestou (například data.email) — na tuto
cestu asertujte v testech.
Pořád zaseknutí?
- Znovu si přečtěte dokumentaci konkrétního balíčku pro danou funkci (Forms, Table, Sortable, Core).
- U problémů s runtime/stavem spusťte Integration sadu, zda se chování reprodukuje:
vendor/bin/pest --configuration phpunit.xml --testsuite "Integration". - Zkontrolujte Návod k upgradu, pokud problém začal po aktualizaci.