dkulyk / nova-tabs
另一个 Laravel Nova 选项卡包
1.1.9
2021-03-18 10:26 UTC
README
安装
您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用程序中
composer require dkulyk/nova-tabs
用法
选项卡面板
您可以将资源的字段分组到选项卡中。
// in app/Nova/Resource.php use DKulyk\Nova\Tabs; public function fields() { return [ // ... new Tabs('Tabs', [ new Panel('Balance', [ Number::make('Balance', 'balance')->onlyOnDetail(), Number::make('Total', 'total')->onlyOnDetail(), ]), 'Other Info' => [ Number::make('Paid To Date', 'paid_to_date')->onlyOnDetail(), ], ]), // ... ]; }
带工具栏的选项卡面板
如果您只使用选项卡而没有另一个默认面板,您可以在面板中像调用 withToolbar
方法一样调用它。
// in app/Nova/Resource.php use DKulyk\Nova\Tabs; public function fields(Request $request) { return [ (new Tabs('Contact Details', [ 'Address' => [ ID::make('Id', 'id')->rules('required'), Text::make('Email', 'email')->sortable(), Text::make('Phone', 'phone')->sortable(), ], 'Relations' => [ BelongsTo::make('User'), MorphTo::make('Contactable')->types([ Client::class, Invoice::class, ]), ] ]))->withToolbar(), ]; }
关系选项卡
您还可以将关系分组到选项卡中。
// in app/Nova/Resource.php use DKulyk\Nova\Tabs; public function fields(Request $request) { return [ // ... new Tabs('Relations', [ HasMany::make('Invoices'), HasMany::make('Notes'), HasMany::make('Contacts') ]), // ... ]; }
在选项卡中组合字段和关系
use DKulyk\Nova\Tabs; public function fields(Request $request) { return [ (new Tabs(__('Client Custom Details'), [ new Panel(__('Details'), [ ID::make('Id', 'id')->rules('required')->hideFromIndex(), Text::make('Name', 'name'), ]), HasMany::make('Invoices') ]) ]; }
自定义
默认情况下,选项卡组件将搜索输入和创建按钮移动到选项卡中。如果您有很多选项卡,可以将它们移动回自己的行
// in app/Nova/Resource.php use DKulyk\Nova\Tabs; public function fields(Request $request) { return [ // ... (new Tabs('Relations', [ HasMany::make('Invoices') ]))->defaultSearch(true), // ... ]; }
如果您想隐藏卡片标签,可以使用 ->hideLabel()
为选项卡面板。
设置 ->defaultSearch(true)
以恢复其默认值。