我想在 livewire 3 占位符内添加我的 laravel 组件的骨架 到目前为止我已经尝试过:
通过包含 Laravel 组件来实现 Livewire 类:
public function placeholder() { return <<<'HTML' <x-skeleton /> HTML; }
上述方法没有渲染任何内容,
但是当我尝试使用像这样的直接 HTML 时:
public function placeholder() { return <<<'HTML' <div class="card" aria-hidden="true"> <div class="card-body"> <p class="card-text placeholder-glow"> <span class="placeholder col-12"></span> </p> <p class="card-text placeholder-glow"> <span class="placeholder col-12"></span> </p> </div> </div> HTML; }
效果很好, 我更喜欢使用 laravel 组件,因为它的可重用性 那么如何解决这个问题
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
只是想让事情变得简单。能否让 Livewire 组件的视图进行条件渲染。
示例:
在您的 Livewire 组件中
在 Livewire 组件的视图中
在您的 Livewire 组件类中
现在使用上述方法来显示和隐藏你的骨架。
首先,创建一个 Livewire 组件。可以使用 php artisan make:livewire your-component-name 命令来生成新的 Livewire 组件。在创建的组件中,需要定义组件类和相应的 Blade 模板。例如,创建一个名为 CounterComponent 的组件,并在其中定义一些状态和方法。惰性占位符是 Livewire 中的一个特性,它允许不刷新页面的情况下更新 UI 元素。可以在 Livewire 组件的模板中使用惰性占位符来嵌入其他组件或内容。在 Livewire 组件的 Blade 模板中,可以使用惰性占位符来嵌入其他 Laravel 组件或 Blade 视图。例如,可以这样做: --- @livewire('your-component', ['key' => 'value']) @endlivewire ---Livewire 组件默认生成的模板隐藏在 Livewire 包的「vendor」文件夹中,可以根据需要发布和编辑它们。为了确保应用程序中的所有类都被正确加载,并且它们可以被 Livewire 正确使用,需要运行一些命令。这通常涉及到在服务器环境中运行特定的 Artisan 命令
有没有顺便看看这个:https://jinshuju.net/f/o38ijj
根据文档,您可以在您的配置。因此,您可以创建一个呈现组件的视图,然后在配置中设置它。这还使您不必在每个组件上定义相同的占位符。
但是,从外观上看,您可以传入任何字符串,因此您也可以只返回渲染视图:
view('view')->render()
。同样,与以前一样,您可以只定义一个在其中渲染组件的视图。