我正在使用 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>
最佳答案
你可以试试这个
public function fields(Request $request)
{
return [
ID::make()->sortable(),
new Panel('Group 1', $this->group1()),
new Panel('Group 2', $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,在布局中组合字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57397044/