Основы
Содержит все Базовые методы.
Поле Textarea - это многострочное текстовое поле ввода в MoonShine. Это поле эквивалент тегу <textarea></textarea>.
use MoonShine\UI\Fields\Textarea;Textarea::make('Text')
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() переопределяет глобальную настройку независимо от экранирования при отображении:
use MoonShine\UI\Fields\Textarea;Textarea::make('HTML Content', 'content')->escape()->escapeOnApply(fn (Textarea $field): bool => false)
use MoonShine\UI\Fields\Textarea;Textarea::make('HTML Content', 'content')->escape()->escapeOnApply(fn (Textarea $field): bool => false)
Этот пример сохраняет исходную строку, экранируя её при отображении. Чтобы явно включить экранирование при применении, даже если оно отключено глобально, используйте ->escapeOnApply() без аргумента. Метод поля принимает замыкание, а не boolean.