suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So verwenden Sie Laravel-Komponenten mit Livewire-Lazy-Platzhaltern

Ich möchte das Skelett meiner Laravel-Komponente in den Livewire 3-Platzhalter einfügen Was ich bisher versucht habe:

Implementieren Sie die Livewire-Klasse, indem Sie die Laravel-Komponente einbinden:

public function placeholder()
{
    return <<<'HTML'
        <x-skeleton />
    HTML;
}

Die obige Methode rendert nichts,

Aber wenn ich versuche, reines HTML wie folgt zu verwenden:

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;
    }

Die Wirkung ist sehr gut, Aufgrund der Wiederverwendbarkeit bevorzuge ich die Verwendung von Laravel-Komponenten So lösen Sie dieses Problem

P粉935883292P粉935883292263 Tage vor1008

Antworte allen(2)Ich werde antworten

  • P粉642919823

    P粉6429198232024-04-07 18:44:06

    只是想让事情变得简单。能否让 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;
    }
    

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

    Antwort
    0
  • P粉035600555

    P粉0356005552024-04-07 18:27:32

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

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

    Antwort
    0
  • StornierenAntwort