Поля

Textarea

Основы

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

Поле Textarea - это многострочное текстовое поле ввода в MoonShine. Это поле эквивалент тегу <textarea></textarea>.

 namespaces
use MoonShine\UI\Fields\Textarea;
 
Textarea::make('Text')
 namespaces
use MoonShine\UI\Fields\Textarea;
 
Textarea::make('Text')

Высота поля

Чтобы задать высоту поля - можно воспользоваться атрибутами.

Textarea::make('Text')
->customAttributes([
'rows' => 6,
])
Textarea::make('Text')
->customAttributes([
'rows' => 6,
])

Отключение экранирования

Метод unescape() отключает экранирование HTML-тегов в значении поля.

Textarea::make('HTML-контент', 'content')
->unescape()
Textarea::make('HTML-контент', 'content')
->unescape()

Поле наследует глобальные настройки escapes.value и escapes.value_on_apply, обе по умолчанию равны true. Настройка escapes.value управляет и preview, и значением внутри элемента формы textarea. Явные вызовы escape() и unescape() переопределяют escapes.value; они не меняют экранирование при применении переданных значений.

Экранирование при применении

Как и у Text, метод escapeOnApply() переопределяет глобальную настройку независимо от экранирования при отображении:

 namespaces
use MoonShine\UI\Fields\Textarea;
 
Textarea::make('HTML Content', 'content')
->escape()
->escapeOnApply(fn (Textarea $field): bool => false)
 namespaces
use MoonShine\UI\Fields\Textarea;
 
Textarea::make('HTML Content', 'content')
->escape()
->escapeOnApply(fn (Textarea $field): bool => false)

Этот пример сохраняет исходную строку, экранируя её при отображении. Чтобы явно включить экранирование при применении, даже если оно отключено глобально, используйте ->escapeOnApply() без аргумента. Метод поля принимает замыкание, а не boolean.