如何在 livewire 惰性占位符中使用 laravel 组件
P粉935883292
P粉935883292 2024-04-06 20:02:10
0
2
929

我想在 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 组件,因为它的可重用性 那么如何解决这个问题

P粉935883292
P粉935883292

全部回复(2)
P粉642919823

只是想让事情变得简单。能否让 Livewire 组件的视图进行条件渲染。

示例:

在您的 Livewire 组件中

public $show_skeleton = true;

在 Livewire 组件的视图中

@if ($show_skeleton) @endif

在您的 Livewire 组件类中

public function showSkeleton()
{
    $this->show_skeleton = true;
}

public function hideSkeleton()
{
    $this->show_skeleton = false;
}

现在使用上述方法来显示和隐藏你的骨架。

P粉035600555

根据文档,您可以在您的配置。因此,您可以创建一个呈现组件的视图,然后在配置中设置它。这还使您不必在每个组件上定义相同的占位符。

但是,从外观上看,您可以传入任何字符串,因此您也可以只返回渲染视图:view('view')->render()。同样,与以前一样,您可以只定义一个在其中渲染组件的视图。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板