首页 > 解决方案 > 在 laravel-blade 中有条件地设置输入值的更好方法

问题描述

我正在使用这种逻辑来保留 laravel-blade 输入表单中的值,这很好,我很好奇是否有更好的方法来实现相同的效果?

 @if(old('name'))
    <input type="text" id="name" name="name" class="form-control" value="{{ old('name') }}">
 @else
    <input type="text" id="name" name="name" class="form-control" 
           value="{{ isset($category) ? $category->name : '' }}">
 @endif

标签: laravelinputconditional-statementslaravel-blade

解决方案


您可以将第二个参数传递给old,它将用作默认值,因此您可以使用如下代码:

<input type="text" id="name" name="name" class="form-control" value="{{ old('name', isset($category) ? $category->name : '') }}">

仍然有点丑陋,但比拥有它要好得多。


推荐阅读