Laravel Nova Resource,结合布局中的字段?

时间:2019-08-07 14:45:47

标签: laravel laravel-nova

我正在使用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中占据一行。

with

现在,我想知道是否可以使用自定义布局选项(而不必制作完整的自定义工具),以便例如在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 个答案:

答案 0 :(得分:0)

您可以简单地使用Nova panels

use Laravel\Nova\Panel;

/**
 * Get the fields displayed by the resource.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        new Panel('Address Information', $this->addressFields()),
    ];
}

/**
 * Get the address fields for the resource.
 *
 * @return array
 */
protected function addressFields()
{
    return [
        Place::make('Address', 'address_line_1')->hideFromIndex(),
        Text::make('Address Line 2')->hideFromIndex(),
        Text::make('City')->hideFromIndex(),
        Text::make('State')->hideFromIndex(),
        Text::make('Postal Code')->hideFromIndex(),
        Country::make('Country')->hideFromIndex(),
    ];
}