numberField
numberField имеет многие из тех же функций, что и textField, но принимает только числовой ввод.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
Пример использования numberField:
<numberField id="numberField" label="NumberField"/>
<numberField id="maxMinNumberField" label="With max/min" max="100" min="10"
helperText="Max value is 100, min value is 10"/>
numberField не поддерживает форматирование. Используйте TypedTextField, когда требуется локализованное форматирование чисел или поддержка различных типов данных.
|
numberField связанный с данными
Используйте атрибуты dataContainer и property, чтобы связать numberField с атрибутом сущности. Контейнер данных предоставляет экземпляр сущности, а property указывает редактируемый числовой атрибут.
Следующий пример создаёт numberField, связанный с данными. Атрибут сущности должен быть числового типа.
<data>
<instance id="pointDc"
class="io.jmix.uisamples.entity.Point"
fetchPlan="_local"/>
</data>
<layout>
<numberField id="numberField" label="Field connected to a container" width="15em"
dataContainer="pointDc" property="x"/>
<hbox>
<span text="Value in the container:"/>
<span id="spanValue"/>
</hbox>
</layout>
@ViewComponent
protected InstanceContainer<Point> pointDc;
@ViewComponent
protected Span spanValue;
@Autowired
protected Metadata metadata;
@Subscribe
protected void onInit(InitEvent event) {
Point point = metadata.create(Point.class);
point.setX(31.32);
pointDc.setItem(point);
}
@Subscribe("numberField")
protected void onNumberFieldValueChange(ComponentValueChangeEvent<NumberField, Number> changeEvent) {
spanValue.setText(String.valueOf(pointDc.getItem().getX()));
}
Валидация
Чтобы проверить значения, введённые в компонент numberField, вы можете использовать валидатор в элементе validators.
Доступны следующие предопределённые валидаторы для numberField:
XML-элемент |
|
|---|---|
Предопределённые валидаторы |
custom - doubleMax - doubleMin - negative - negativeOrZero - notNull - positive - positiveOrZero |
Варианты темы
Используйте атрибут themeNames, чтобы применить один или несколько вариантов темы.
| Вариант | Описание | Поддерживается в |
|---|---|---|
|
Уменьшает размер компонента. |
Aura, Lumo |
|
Выравнивает значение поля по левому краю. |
Aura, Lumo |
|
Выравнивает значение поля по центру. |
Aura, Lumo |
|
Выравнивает значение поля по правому краю. |
Aura, Lumo |
|
Размещает вспомогательный текст над полем, под меткой. |
Aura, Lumo |
Атрибуты
numberField имеет следующие уникальные атрибуты:
| Имя | Описание | По умолчанию |
|---|---|---|
Определяет, выделяется ли текст автоматически при получении полем фокуса. |
— |
|
Определяет, отображается ли в поле кнопка очистки. |
|
|
Устанавливает максимум. |
— |
|
Устанавливает минимум. |
— |
|
Устанавливает шаг. |
— |
|
Управляет отображением кнопок увеличения и уменьшения. |
— |
|
Задаёт значение компонента. |
— |
numberField имеет следующие общие атрибуты:
id - alignSelf - allowedCharPattern - ariaLabel - ariaLabelledBy - autocapitalize - autocomplete - autocorrect - autofocus - classNames - colspan - css - dataContainer - enabled - errorMessage - focusShortcut - height - helperText - label - maxHeight - maxWidth - minHeight - minWidth - placeholder - property - readOnly - required - requiredMessage - tabIndex - themeNames - title - valueChangeMode - valueChangeTimeout - visible - width
Обработчики
numberField имеет следующие уникальные обработчики:
| Имя | Описание |
|---|---|
Проверяет значение компонента. |
numberField имеет следующие общие обработчики: