textArea
textArea — поле ввода для ввода нескольких строк текста.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
Используйте textArea для многострочного текста, например комментариев или описаний.
<textArea id="textArea" value="Great job. This is excellent!" label="Comment"
valueChangeMode="EAGER" maxLength="140" helperText="29/140"/>
<textArea id="textArea2" value="Everything you do works great!" label="Additional comment"/>
Если не задана фиксированная высота, компонент автоматически подстраивает высоту под содержимое. Минимальная и стандартная высота - две строки текста.
textArea связанный с данными
Используйте атрибуты dataContainer и property, чтобы связать textArea с атрибутом сущности типа String. Контейнер данных предоставляет экземпляр сущности, а property указывает редактируемый атрибут.
Пример создания textArea с привязкой к данным:
<data>
<instance id="orderDc"
class="io.jmix.uisamples.entity.Order"
fetchPlan="_local"/>
</data>
<layout>
<textArea id="textArea" label="Order description"
dataContainer="orderDc" property="description"/>
<hbox>
<span text="Value in the container:"/>
<span id="spanValue"/>
</hbox>
</layout>
@ViewComponent
protected InstanceContainer<Order> orderDc;
@ViewComponent
protected Span spanValue;
@Autowired
protected Metadata metadata;
@Subscribe
protected void onInit(InitEvent event) {
Order order = metadata.create(Order.class);
order.setDescription("Deliver as quickly as possible.");
orderDc.setItem(order);
}
@Subscribe("textArea")
protected void onTextAreaValueChange(ComponentValueChangeEvent<JmixTextArea, String> changeEvent) {
spanValue.setText(orderDc.getItem().getDescription());
}
Убедитесь, что атрибут сущности, к которому выполняется привязка, имеет строковый тип. В отличие от textField, textArea специально предназначен для работы с текстовыми данными.
Изменяемая текстовая область
Добавьте класс изменения размера, чтобы пользователь мог растягивать текстовую область по горизонтали, вертикали или в обоих направлениях. CSS задаёт соответствующее значение resize и включает обработку переполнения.
<textArea id="textArea" label="Standard TextArea"/>
<textArea id="resizableBothTextArea" label="Resizeable TextArea"
classNames="resizable-both"
themeNames="helper-above-field"
helperText="Both direction"/>
<textArea id="resizableVerticalTextArea" label="Resizeable TextArea"
classNames="resizable-vertical"
themeNames="helper-above-field"
helperText="Vertical direction"/>
<textArea id="resizableHorizontalTextArea" label="Resizeable TextArea"
classNames="resizable-horizontal"
themeNames="helper-above-field"
helperText="Horizontal direction"/>
.resizable-both {
resize: both;
overflow: auto;
padding-bottom: unset;
}
.resizable-vertical {
resize: vertical;
overflow: auto;
padding-bottom: unset;
}
.resizable-horizontal {
resize: horizontal;
overflow: auto;
padding-bottom: unset;
}
Варианты темы
Используйте атрибут themeNames, чтобы применить один или несколько вариантов темы.
| Вариант | Описание | Поддерживается в |
|---|---|---|
|
Уменьшает размер компонента. |
Aura, Lumo |
|
Выравнивает значение поля по левому краю. |
Aura, Lumo |
|
Выравнивает значение поля по центру. |
Aura, Lumo |
|
Выравнивает значение поля по правому краю. |
Aura, Lumo |
|
Размещает вспомогательный текст над полем, под меткой. |
Aura, Lumo |
Атрибуты
textArea имеет следующие уникальные атрибуты:
| Имя | Описание | По умолчанию |
|---|---|---|
Задаёт идентификатор компонента. |
— |
|
Определяет, может ли пользователь взаимодействовать с компонентом. |
|
|
Задаёт вспомогательный текст рядом с компонентом. |
— |
|
Задаёт подпись компонента. |
— |
|
Задаёт текст заполнителя для пустого поля. |
— |
|
Определяет, может ли значение быть изменено пользователем. |
|
|
Задаёт значение компонента. |
— |
|
Управляет отображением компонента. |
|
|
Указывает контейнер данных, предоставляющий привязанную сущность. |
— |
|
Указывает атрибут сущности, связанный с компонентом. |
— |
|
Задаёт высоту компонента. |
— |
|
Устанавливает максимальную высоту компонента. |
— |
|
Устанавливает максимальную ширину компонента. |
— |
|
Устанавливает минимальную высоту компонента. |
— |
|
Устанавливает минимальную ширину компонента. |
— |
|
Задаёт ширину компонента. |
— |
|
Переопределяет выравнивание компонента внутри его родительского макета. |
|
|
Устанавливает количество столбцов, занимаемых в макете формы. |
|
|
Добавляет имена классов CSS в компонент. |
— |
|
Определяет, отображается ли в поле кнопка очистки. |
|
|
Определяет встроенные свойства CSS. |
— |
|
Устанавливает максимальное количество строк. |
— |
|
Устанавливает минимальное количество строк. |
2 |
|
Устанавливает сообщение, отображаемое, когда компонент недействителен. |
— |
|
Устанавливает максимальную допустимую длину ввода. |
— |
|
Устанавливает минимальную допустимую длину ввода. |
— |
|
Устанавливает регулярное выражение, используемое для проверки ввода. |
— |
|
Определяет, требует ли компонент значения. |
|
|
Ограничивает ввод символами, соответствующими указанному регулярному выражению. |
— |
|
Определяет доступную метку, когда подходящей видимой метки не существует. |
— |
|
Идентифицирует другой компонент, предоставляющий доступную метку. |
— |
|
Управляет автоматической регистрацией заглавных букв для пользовательского ввода. |
— |
|
Управляет автозаполнением поля браузером. |
— |
|
Управляет автоматической коррекцией пользовательского ввода. |
— |
|
Перемещает фокус клавиатуры на компонент при открытии экрана. |
|
|
Установите значение |
— |
|
Определяет сочетание клавиш, которое фокусирует компонент. |
— |
|
Управляет положением компонента в порядке фокуса клавиатуры. |
|
|
Если |
— |
textArea имеет следующие общие атрибуты:
Обработчики
textArea имеет следующие уникальные обработчики:
| Имя | Описание |
|---|---|
Запускается, когда компонент прикреплен к пользовательскому интерфейсу. |
|
Вызывается, когда компонент теряет фокус. |
|
Возникает после изменения состояния допустимости компонента при проверке на стороне клиента. |
|
Вызывается при изменении значения компонента. |
|
Вызывается, когда завершается сеанс составления текста. |
|
Вызывается при запуске сеанса составления текста. |
|
Вызывается при изменении текста в активном сеансе композиции. |
|
Запускается, когда компонент отсоединен от пользовательского интерфейса. |
|
Запускается, когда компонент получает фокус. |
|
Запускается, когда пользователь меняет входное значение. |
|
Запускается, когда пользователь нажимает клавишу, когда компонент находится в фокусе. |
|
Вызывается при нажатии клавиши создания символов. |
|
Обрабатывает изменения статуса проверки компонента. |
|
Добавляет экземпляр валидатор к компоненту. |