TextFieldТекстовое поле
Текстовое поле позволяет пользователю вводить текст на странице, обычно используется в формах и диалоговых окнах.
Использование
При необходимости импортируйте компонент:
import 'mdui/components/text-field.js';
При необходимости импортируйте типы TypeScript:
import type { TextField } from 'mdui/components/text-field.js';
Пример использования:
<mdui-text-field label="Text Field"></mdui-text-field>Вспомогательный текст
Используйте атрибут label для задания текста метки над текстовым полем.
Используйте атрибут placeholder для задания текста-заполнителя, когда поле пусто.
Используйте атрибут helper для задания вспомогательного текста внизу поля. Также можно использовать слот helper. Добавьте атрибут helper-on-focus, чтобы вспомогательный текст отображался только при фокусе на поле ввода.
Возможность очистки
Добавьте атрибут clearable, чтобы справа от текстового поля появлялась кнопка очистки, когда поле не пусто.
Выравнивание текста по правому краю
Добавьте атрибут end-aligned, чтобы выровнять текст по правому краю.
Префиксы, суффиксы и иконки
С помощью атрибутов icon и end-icon можно добавить иконки Material Icons слева и справа от текстового поля. Также можно использовать слоты icon и end-icon.
С помощью атрибутов prefix и suffix можно добавить текст слева и справа от текстового поля. Также можно использовать слоты prefix и suffix. Этот текст отображается только когда поле в фокусе или имеет значение.
Режим только для чтения
Добавьте атрибут readonly, чтобы перевести текстовое поле в режим только для чтения.
Отключенное состояние
Добавьте атрибут disabled, чтобы отключить текстовое поле.
Многострочное текстовое поле
Используйте атрибут rows, чтобы задать количество строк для многострочного текстового поля.
Также можно добавить атрибут autosize, чтобы поле автоматически подстраивало высоту под длину вводимого текста. С помощью атрибутов min-rows и max-rows можно задать минимальное и максимальное количество строк при автоматическом изменении высоты.
Счетчик символов
Когда атрибут maxlength установлен, можно добавить атрибут counter, чтобы внизу текстового поля отображался счетчик символов.
Поле для пароля
При установке type="password" добавление атрибута toggle-password добавляет кнопку переключения видимости пароля справа от поля.
API
Свойства
| Атрибут | Свойство | Reflect | Тип | По умолчанию |
|---|---|---|---|---|
variant | variant | 'filled' | 'outlined' | 'filled' | |
Форма текстового поля. По умолчанию
| ||||
type | type | 'text' | 'number' | 'password' | 'url' | 'email' | 'search' | 'tel' | 'hidden' | 'date' | 'datetime-local' | 'month' | 'time' | 'week' | 'text' | |
Тип ввода текстового поля. По умолчанию
| ||||
name | name | string | '' | |
Имя текстового поля, будет отправлено вместе с данными формы. | ||||
value | value | string | '' | |
Значение текстового поля, будет отправлено вместе с данными формы. | ||||
defaultValue | string | '' | ||
Значение по умолчанию. При сбросе формы восстанавливается именно оно. Это свойство задаётся только через JavaScript. | ||||
label | label | string | - | |
Текст метки. | ||||
placeholder | placeholder | string | - | |
Текст-заполнитель. | ||||
helper | helper | string | - | |
Вспомогательный текст внизу текстового поля. Можно задать через | ||||
helper-on-focus | helperOnFocus | boolean | false | |
Определяет, показывать ли вспомогательный текст только при фокусе. | ||||
clearable | clearable | boolean | false | |
Определяет, можно ли очистить текстовое поле. | ||||
clear-icon | clearIcon | string | - | |
Имя иконки Material Icons для кнопки очистки справа, когда поле можно очистить. Можно задать через | ||||
end-aligned | endAligned | boolean | false | |
Определяет, выравнивать ли текст по правому краю. | ||||
prefix | prefix | string | - | |
Текст-префикс текстового поля. Отображается только при фокусе или когда поле имеет значение. Можно задать через | ||||
suffix | suffix | string | - | |
Текст-суффикс текстового поля. Отображается только при фокусе или когда поле имеет значение. Можно задать через | ||||
icon | icon | string | - | |
Имя иконки Material Icons для префикса слева. Можно задать через | ||||
end-icon | endIcon | string | - | |
Имя иконки Material Icons для суффикса справа. Можно задать через | ||||
error-icon | errorIcon | string | - | |
Имя иконки Material Icons справа при ошибке валидации поля формы. Можно задать через | ||||
form | form | string | - | |
Связанный элемент Если свойство не задано, элемент должен быть дочерним по отношению к | ||||
readonly | readonly | boolean | false | |
Только для чтения. | ||||
disabled | disabled | boolean | false | |
Определяет, отключён ли компонент. | ||||
required | required | boolean | false | |
Определяет, обязательно ли для заполнения при отправке формы. | ||||
rows | rows | number | - | |
Фиксированное количество отображаемых строк (для | ||||
autosize | autosize | boolean | false | |
Автоматически подстраивать высоту под содержимое (для | ||||
min-rows | minRows | number | - | |
Минимальное количество строк при | ||||
max-rows | maxRows | number | - | |
Максимальное количество строк при | ||||
minlength | minlength | number | - | |
Минимальное количество символов. | ||||
maxlength | maxlength | number | - | |
Максимальное количество символов. | ||||
counter | counter | boolean | false | |
Определяет, показывать ли счётчик символов. Действует только при указании | ||||
min | min | number | - | |
Минимальное числовое значение (при | ||||
max | max | number | - | |
Максимальное числовое значение (при | ||||
step | step | number | - | |
Шаг изменения числового значения (при | ||||
pattern | pattern | string | - | |
Регулярное выражение для валидации формы. | ||||
toggle-password | togglePassword | boolean | false | |
При | ||||
show-password-icon | showPasswordIcon | string | - | |
Имя иконки Material Icons для кнопки отображения пароля. Можно задать через | ||||
hide-password-icon | hidePasswordIcon | string | - | |
Имя иконки Material Icons для кнопки скрытия пароля. Можно задать через | ||||
autocapitalize | autocapitalize | 'none' | 'sentences' | 'words' | 'characters' | - | |
Нестандартный атрибут iOS для управления автокапитализацией. Действует в iOS5 и новее. Возможные значения:
| ||||
autocorrect | autocorrect | string | - | |
Атрибут | ||||
autocomplete | autocomplete | string | - | |
Атрибут | ||||
enterkeyhint | enterkeyhint | 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | - | |
Атрибут
| ||||
spellcheck | spellcheck | boolean | false | |
Определяет, включена ли проверка орфографии. | ||||
inputmode | inputmode | 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url' | - | |
Атрибут
| ||||
validity | ValidityState | - | ||
Объект, содержащий состояние валидации формы. См. | ||||
validationMessage | string | - | ||
Если проверка формы не пройдена, это свойство содержит сообщение об ошибке. Если проверка пройдена, это свойство будет пустой строкой. | ||||
valueAsNumber | number | - | ||
Получает текущее значение в виде числа | ||||
autofocus | autofocus | boolean | false | |
Определяет, будет ли элемент автоматически получать фокус после загрузки страницы. | ||||
tabindex | tabIndex | number | - | |
Порядок перехода к элементу при нажатии клавиши Tab. | ||||
Методы
| Название | Параметры | Возвращаемое значение |
|---|---|---|
select | void | |
Выделяет текст в текстовом поле. | ||
setSelectionRange |
| void |
Выделяет определённый диапазон текста в текстовом поле. | ||
setRangeText |
| void |
Заменяет текст в определённом диапазоне на новый текст. | ||
checkValidity | boolean | |
Проверяет, прошло ли поле формы валидацию. Если не прошло, возвращает | ||
reportValidity | boolean | |
Проверяет, прошло ли поле формы валидацию. Если не прошло, возвращает Если проверка не пройдена, также отображает сообщение об ошибке валидации в компоненте. | ||
setCustomValidity |
| void |
Устанавливает пользовательский текст сообщения об ошибке. Пока задан непустой текст, поле считается не прошедшим проверку. | ||
click | void | |
Имитирует щелчок мыши по элементу. | ||
focus |
| void |
Устанавливает фокус на текущий элемент. В качестве аргумента можно передать объект со свойством:
| ||
blur | void | |
Убирает фокус с текущего элемента. | ||
События
| Название |
|---|
focus |
Срабатывает при получении фокуса. |
blur |
Срабатывает при потере фокуса. |
change |
Срабатывает при изменении значения и потере фокуса. |
input |
Срабатывает при изменении значения. |
invalid |
Возникает, когда поле формы не проходит валидацию. |
clear |
Срабатывает при клике на кнопку очистки, добавленную свойством |
Slots
| Название |
|---|
icon |
Иконка слева. |
end-icon |
Иконка справа. |
error-icon |
Иконка справа в состоянии ошибки валидации. |
prefix |
Текст слева. |
suffix |
Текст справа. |
clear-button |
Кнопка очистки. |
clear-icon |
Иконка внутри кнопки очистки. |
toggle-password-button |
Кнопка переключения видимости пароля. |
show-password-icon |
Иконка внутри кнопки переключения пароля в режиме отображения пароля. |
hide-password-icon |
Иконка внутри кнопки переключения пароля в режиме скрытия пароля. |
helper |
Вспомогательный текст внизу. |
CSS Parts
| Название |
|---|
container |
Контейнер текстового поля. |
icon |
Иконка слева. |
end-icon |
Иконка справа. |
error-icon |
Иконка справа в состоянии ошибки валидации. |
prefix |
Текст слева. |
suffix |
Текст справа. |
label |
Текст метки сверху. |
input |
Внутренний элемент |
clear-button |
Кнопка очистки. |
clear-icon |
Иконка внутри кнопки очистки. |
toggle-password-button |
Кнопка переключения видимости пароля. |
show-password-icon |
Иконка внутри кнопки переключения пароля в режиме отображения пароля. |
hide-password-icon |
Иконка внутри кнопки переключения пароля в режиме скрытия пароля. |
supporting |
Контейнер вспомогательной информации внизу, включая helper, error, counter. |
helper |
Вспомогательный текст внизу. |
error |
Текст ошибки внизу. |
counter |
Счётчик символов справа внизу. |