Maison  >  Questions et réponses  >  le corps du texte

Comment utiliser les composants Laravel avec des espaces réservés paresseux Livewire

Je souhaite ajouter le squelette de mon composant Laravel dans l'espace réservé Livewire 3 Ce que j'ai essayé jusqu'à présent :

Implémentez la classe Livewire en incluant le composant Laravel :

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

La méthode ci-dessus ne rend rien,

Mais quand j'essaie d'utiliser du HTML pur comme ceci :

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

L'effet est très bon, Je préfère utiliser les composants Laravel en raison de leur réutilisabilité Alors comment résoudre ce problème

P粉935883292P粉935883292211 Il y a quelques jours873

répondre à tous(2)je répondrai

  • P粉642919823

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

    J'essaie juste de garder les choses simples. La vue du composant Livewire peut-elle être rendue de manière conditionnelle ?

    Exemple :

    Dans votre composant Livewire

    public $show_skeleton = true;
    

    Dans la vue du composant Livewire

    @if ($show_skeleton) @endif

    Dans votre classe de composants Livewire

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

    Utilisez maintenant la méthode ci-dessus pour afficher et masquer votre squelette.

    répondre
    0
  • P粉035600555

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

    Selon la Documentation, vous pouvez le faire dans votre configuration. Vous créez donc une vue qui restitue le composant, puis vous le définissez dans la configuration. Cela vous évite également d'avoir à définir le même espace réservé sur chaque composant.

    Mais, à première vue, vous pouvez transmettre n'importe quelle chaîne, vous pouvez donc également simplement renvoyer la vue rendue : view('view')->render(). De plus, comme auparavant, vous pouvez simplement définir une vue dans laquelle restituer le composant.

    répondre
    0
  • Annulerrépondre