Heim > PHP-Framework > Laravel > Hauptteil

Teilen Sie ein paar coole Blade-Komponenten in Laravel 7

Guanhui
Freigeben: 2020-05-06 09:08:30
nach vorne
2944 Leute haben es durchsucht

Formularschaltflächen

Wenn Sie beim Entwickeln einer Anwendung umleiten und andere Vorgänge ausführen möchten, können Sie keine einfachen Links verwenden. GET-Anfragen sind anfällig für CSRF-Angriffe.

Stattdessen sollten Sie andere HTTP-Anfragemethoden verwenden, indem Sie Formulare und CSRF-Validierung verwenden. Unten finden Sie eine FormButton-Komponente, die eine Schaltfläche in einem Formular generiert.

{{-- content of formButton.blade.php --}}
<form method="POST" action="{{ $action }}">
    @csrf
    @method($method ?? &#39;POST&#39;)
        <button
            type="submit"
            class="{{ $class ?? &#39;&#39; }}"
        >
            {{ $slot }}
        </button>
</form>
Nach dem Login kopieren

Sie können es so verwenden:

// perform an action
<x-form-button :action="route(&#39;doSomething&#39;)">
   Do something
</x-form-button>
// perform an action with another HTTP verb
<x-form-button :action="route(&#39;model.delete&#39;, $model)" method="delete">
   Delete model
</x-form-button>
Nach dem Login kopieren

Navigationsleiste

Fast jede Anwendung muss eine Art Navigation anzeigen, wie Menüs und Optionen Karte. Diese Navigationslinks sind dynamisch, sodass Benutzer wissen, wo sie sich in der Anwendung befinden.

Das Folgende ist die navigationLink-Komponente, die Links anzeigen kann. Es stellt sich automatisch als aktiv ein, wenn es mit der aktuell angeforderten URL startet.

{{-- content of navigationLink.blade.php --}}
<li class="{{ \Illuminate\Support\Str::startsWith(request()->url(), $href) ? &#39;active&#39; : &#39;&#39;  }}">
    <a href="{{ $href }}" @isset($dataDirtyWarn) data-dirty-warn @endisset>
        {{ $slot }}
    </a>
</li>
Nach dem Login kopieren

Hier erfahren Sie, wie Sie es mit mailcoach.app verwenden.

 <nav class="tabs">
        <ul>
            <x-navigation-item :href="route(&#39;mailcoach.emailLists.subscribers&#39;, $emailList)">
                <x-icon-label icon="fa-users" text="Subscribers" :count="$emailList->subscribers()->count() ?? 0" />
            </x-navigation-item>
            <x-navigation-item :href="route(&#39;mailcoach.emailLists.tags&#39;, $emailList)">
                <x-icon-label icon="fa-tag" text="Tags" />
            </x-navigation-item>
            <x-navigation-item :href="route(&#39;mailcoach.emailLists.segments&#39;, $emailList)">
                <x-icon-label icon="fa-chart-pie" text="Segments" />
            </x-navigation-item>
            <x-navigation-item :href="route(&#39;mailcoach.emailLists.settings&#39;, $emailList)">
                <x-icon-label icon="fa-cog" text="Settings" />
            </x-navigation-item>
        </ul>
    </nav>
Nach dem Login kopieren

So funktioniert das Rendern.

Formularelemente

Die Blade-Komponente rendert adaptive Formularelemente. Werfen wir einen Blick darauf, wie die textField-Komponente in Mailcoach verwendet wird.

<div class="form-row">
    @if($label ?? null)
    <label class="{{ ($required ?? false) ? &#39;label label-required&#39; : &#39;label&#39; }}" for="{{ $name }}">
        {{ $label }}
    </label>
    @endif
    @error($name)
        <p class="form-error" role="alert">{{ $message }}</p>
    @enderror
    <input
        autocomplete="off"
        type="{{ $type ?? &#39;text&#39; }}"
        name="{{ $name }}"
        id="{{ $name }}"
        class="input"
        placeholder="{{ $placeholder ?? &#39;&#39; }}"
        value="{{ old($name, $value ?? &#39;&#39;) }}"
        {{ ($required ?? false) ? &#39;required&#39; : &#39;&#39; }}
    >
</div>
Nach dem Login kopieren

Wie Sie sehen können, werden die Beschriftungen, Formularfelder und mögliche Fehler gerendert. So wird es verwendet.

<x-text-field label="Name" name="name" required />
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonTeilen Sie ein paar coole Blade-Komponenten in Laravel 7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage