Laravel Nova:按列分组表单字段
Posted
技术标签:
【中文标题】Laravel Nova:按列分组表单字段【英文标题】:Laravel Nova: Group form fields in columns 【发布时间】:2019-05-17 22:52:31 【问题描述】:如何在 Laravel Nova 中的表单字段上创建列?
例如,我试图将名字和姓氏分开,但不想将其放在两行。我更希望将它放在一起,但我找不到任何选择该选项的可能性。
有人知道如何解决吗?或者有一个包可以做到这一点?我已经搜索过了,但没有找到。
谢谢
更新: web agency 的人帮助我,创建了一个自定义字段。
【问题讨论】:
【参考方案1】:这可以通过这个包来实现:https://github.com/64robots/nova-fields 以及在某些字段上定义的一些自定义 CSS。在我的情况下是这样的:
...
->labelClasses('w-full pt-4')
->wrapperClasses('flex flex-col w-1/3 float-left flex-1 px-4 pl-8')
...
w-1/3 表示 33%,float-left 当然是 float: left。对前 2 个字段应用 float-left,w-1/3 树将产生 3 列。
示例:
例子:
composer require 64robots/nova-fields
public function fields(Request $request)
return [
ID::make('ID', 'id')->sortable(),
\R64\NovaFields\Select::make('Order type', 'order_type')->options([
'equipment_rent' => 'Equipment Rental',
'entertainment_and_equipment_rent' => 'Entertainment and Equipment Rental',
'equipment_rent_inplace' => 'Equipment Rental on Location',
]) ->labelClasses('w-full pt-4')
->wrapperClasses('flex flex-col w-1/3 float-left flex-1 px-4 pl-8')
->fieldClasses('w-full py-4'),
\R64\NovaFields\Select::make('Region', 'region')->options([
'country' => 'Vilniaus',
'province' => 'Klaipėda',
]) ->labelClasses('w-full pt-4')
->wrapperClasses('flex flex-col w-1/3 float-left flex-1 px-4')
->fieldClasses('w-full py-4'),
\R64\NovaFields\BelongsTo::make('Seller', 'seller', Seller::class)
->labelClasses('w-full pt-4')
->wrapperClasses('flex flex-col w-1/3 flex-1 px-4 pr-8')
->fieldClasses('w-full py-4'),
Text::make('Test'),
Text::make('Test another'),
];
【讨论】:
【参考方案2】:目前这在 Laravel Nova 中是不可能的。
【讨论】:
以上是关于Laravel Nova:按列分组表单字段的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel Nova Vue 组件中观看动态渲染的字段
Laravel Nova Resource,在布局中组合字段?