Поля

StackFields

Основы

Содержит все Базовые методы.

Поле StackFields позволяет группировать поля при отображении в предварительном просмотре.

Метод fields() должен принимать массив полей для группировки.

 namespaces
use MoonShine\Laravel\Fields\BelongsTo;
use MoonShine\UI\Fields\StackFields;
use MoonShine\UI\Fields\Text;
 
StackFields::make('Title')->fields([
Text::make('Title'),
BelongsTo::make('Author', resource: 'name'),
])

Изменение отображения

Вы можете кастомизировать отображение для StackFields с помощью компонентов.

StackFields::make('Title')->fields([
Text::make('Title'),
LineBreak::make(), // добавляет перенос строки
BelongsTo::make('Author', resource: 'name'),
])

Отображение по условию

Чтобы при определенных условия изменялся набор компонентов у StackFields, необходимо передать условие и наборы компонентов с помощью callback функции.

StackFields::make('Stack')
->fields(
fn(StackFields $ctx) => $ctx->getData()?->getOriginal()->id === 3 ? [
Date::make('Creation date', 'created_at'),
] : [
Date::make('Creation date', 'created_at'),
LineBreak::make(),
Email::make('Email', 'email'),
]
)