用途:在 Laravel 中用 PHP 构建动态、响应式界面,无需 JavaScript。
主要能力:支持单文件组件(默认推荐,如 resources/views/components/⚡todos.blade.php)、多文件组件(php artisan make:livewire post.create --mfc,生成独立 .php、.blade.php、.js、.css 文件)和页面组件(php artisan make:livewire pages::post.create,配合 Route::livewire('/posts/create', 'pages::post.create') 路由)。
核心用法:公共属性自动在 Blade 中可用,可用 $this->reset('prop') 重置、$this->fill([...]) 批量赋值,受保护属性不持久化到客户端。数据绑定支持 wire:model(动作时同步)、wire:model.live(输入时同步)、wire:model.blur(失焦时同步)。动作通过 wire:click、wire:submit 等触发。计算属性用 #[Computed] 注解,Blade 中以 $this->posts 访问。事件修饰符包括 .prevent、.keydown.enter、.debounce.500ms、.throttle。加载状态可用 data-loading 与 not-data-loading 类控制,确认弹窗用 wire:confirm。
安全限制:公共属性可被客户端篡改,必须始终验证与授权,例如在删除前调用 $this->authorize('delete', $post)。
更多细节可参考 references/components.md、references/properties.md、references/actions.md。