Laravel Nova Resource,在布局中组合字段?
Posted
技术标签:
【中文标题】Laravel Nova Resource,在布局中组合字段?【英文标题】:Laravel Nova Resource, combine fields in layout? 【发布时间】:2019-12-15 05:55:32 【问题描述】:我正在使用 Laravel 和 Nova,我有一个包含多个字段的 Collection 资源,现在当您定义字段时:
Text::make('Meta 1 Label')->hideFromIndex(),
Text::make('Meta 1 Value')->hideFromIndex(),
Text::make('Meta 2 Label')->hideFromIndex(),
Text::make('Meta 2 Value')->hideFromIndex(),
Text::make('Meta 3 Label')->hideFromIndex(),
Text::make('Meta 3 Value')->hideFromIndex(),
Text::make('Meta 4 Label')->hideFromIndex(),
Text::make('Meta 4 Value')->hideFromIndex(),
每个字段将占一行,在 html 中。
现在我想知道是否可以使用自定义布局选项(无需制作完整的自定义工具),以便例如可以在 div 中对几个文本字段进行分组。 标签和值字段在一行
伪代码
<div class="flex">
Text::make('Meta 1 Label')->hideFromIndex(),
Text::make('Meta 1 Value')->hideFromIndex(),
</div>
<div class="flex">
Text::make('Meta 2 Label')->hideFromIndex(),
Text::make('Meta 2 Value')->hideFromIndex(),
</div>
【问题讨论】:
您好,您找到解决方案了吗?谢谢 【参考方案1】:你可以试试这个
public function fields(Request $request)
return [
ID::make()->sortable(),
new Panel('Group 1', $this->group1()),
new Panel('Group 1', $this->group2()),
];
protected function group1()
return [
Text::make('Meta 1 Label')->hideFromIndex(),
Text::make('Meta 1 Value')->hideFromIndex(),
];
protected function group2()
return [
Text::make('Meta 2 Label')->hideFromIndex(),
Text::make('Meta 2 Value')->hideFromIndex(),
];
查看field-panels laravel nova 文档部分了解更多信息。
【讨论】:
以上是关于Laravel Nova Resource,在布局中组合字段?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 Laravel 中为 Nova 资源显式定义策略?