【发布时间】:2026-02-16 22:05:01
【问题描述】:
我有一个这样的创建方法:
public function create()
{
$categories = App\CategoryModel::pluck('name', 'id');
return view('posts.create', compact('categories'));
}
我想添加一些选项来使用Illuminate\html 选择元素。
这是我的选择元素:
{!! Form::label('category', 'Category') !!}
{!! Form::select(null, $categories, null, ['class' => 'form', 'style' => 'height: 40px;', 'name' => 'category']); !!}
但我想再添加一个这样的选项元素:
<option disabled selected> -- Select a category -- </option>
我该怎么办?
【问题讨论】:
-
默认功能无法做到这一点,但您可以使用Macro添加额外的表单助手
-
如果我使用宏,就像编写 HTML 一样。你认为我应该写 HTML 还是使用宏?因为我看了一些关于它的文章,他们告诉
Illuminate\html是用来减少代码的。 -
我说的是
Form::macro而不是HTML::macro()。Form::macro()允许您使用自己的方法扩展 Form 外观。如果你想要这个,我会为你创建该函数并将其作为答案 -
如果我写那个,我应该写哪个文件?我想写多次使用。
-
您可以在app forlder下编写您的宏(即/app/lib/helper.php)。您还需要将其注册到 laravel autoloader...
标签: php laravel illuminate-container