分享几个 Laravel 7 中很酷的 Blade 组件
Laravel  /  管理员 发布于 8年前   395
表单按钮
开发一个应用时,如果您希望重定向并且做一些其他操作时,不能使用简单的链接。GET 请求很容易受到 CSRF 攻击。
相反,您应该使用其他 HTTP 请求方式,使用表单和 CSRF 验证。 下面是一个在表单中生成按钮的 FormButton 组件。
{{-- content of formButton.blade.php --}}<form method="POST" action="{{ $action }}"> @csrf @method($method ?? 'POST') <buttontype="submit"class="{{ $class ?? '' }}" >{{ $slot }} </button></form>
您可以像这样使用它:
// perform an action<x-form-button :action="route('doSomething')"> Do something</x-form-button>// perform an action with another HTTP verb<x-form-button :action="route('model.delete', $model)" method="delete"> Delete model</x-form-button>
导航栏
几乎任何应用程序都需要显示某种导航,比如菜单和选项卡。这些导航链接是动态的,这样用户就可以知道自己在应用程序的哪个部分。
下面是可以展示链接的 navigationLink 组件。当其以当前请求的 URL 开始时,它会自动将自身设置为活动状态。
{{-- content of navigationLink.blade.php --}}<li class="{{ \Illuminate\Support\Str::startsWith(request()->url(), $href) ? 'active' : '' }}"> <a href="{{ $href }}" @isset($dataDirtyWarn) data-dirty-warn @endisset> {{ $slot }} </a></li>
这里是如何在 mailcoach.app 中使用它的。
<nav class="tabs"> <ul><x-navigation-item :href="route('mailcoach.emailLists.subscribers', $emailList)"> <x-icon-label icon="fa-users" text="Subscribers" :count="$emailList->subscribers()->count() ?? 0" /></x-navigation-item><x-navigation-item :href="route('mailcoach.emailLists.tags', $emailList)"> <x-icon-label icon="fa-tag" text="Tags" /></x-navigation-item><x-navigation-item :href="route('mailcoach.emailLists.segments', $emailList)"> <x-icon-label icon="fa-chart-pie" text="Segments" /></x-navigation-item><x-navigation-item :href="route('mailcoach.emailLists.settings', $emailList)"> <x-icon-label icon="fa-cog" text="Settings" /></x-navigation-item> </ul> </nav>
这就是渲染的方法。
表单元素
Blade 组件会渲染出自适应的表单元素。我们来看一下 textField 组件在 Mailcoach 中的用法。
<div class="form-row"> @if($label ?? null) <label class="{{ ($required ?? false) ? 'label label-required' : 'label' }}" for="{{ $name }}"> {{ $label }} </label> @endif @error($name) <p class="form-error" role="alert">{{ $message }}</p> @enderror <input autocomplete="off" type="{{ $type ?? 'text' }}" name="{{ $name }}" id="{{ $name }}" class="input" placeholder="{{ $placeholder ?? '' }}" value="{{ old($name, $value ?? '') }}" {{ ($required ?? false) ? 'required' : '' }} ></div>
正如你所看到的一样,它渲染了标签、表单字段和可能的错误。这就是它的用法。
<x-text-field label="Name" name="name" required />
以上就是分享几个 Laravel 7 中很酷的 Blade 组件的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号