Улучшить эту документацию Посмотреть исходный код select
- директива в модуле ng
HTML SELECT элемент с привязкой данных Angular.
Директива select используется совместно с ngModel для обеспечения привязки данных между областью видимости и <select> элементом управления (включая установку значений по умолчанию). Она также обрабатывает динамические <option> элементы, которые можно добавить с помощью директив ngRepeat или ngOptions.
При выборе элемента в <select> меню значение выбранного элемента будет привязано к модели, определенной директивой ngModel. В случае статических или повторяющихся элементов, это содержимое атрибута value или текстовое содержимое <option>, если атрибут value отсутствует. Для динамических элементов используйте интерполяцию внутри атрибута value или textContent. Также можно использовать ngValue (так как он устанавливает атрибут value), который будет иметь приоритет перед value и textContent.
select без ngOptions всегда является строкой. Если модель должна быть привязана к значению, отличного от строки, необходимо либо явно преобразовать ее с помощью директивы (см. пример ниже), либо использовать ngOptions для указания набора вариантов. Это связано с тем, что в настоящее время элемент option может быть привязан только к строковым значениям. Если viewValue ngModel не соответствует ни одному из вариантов, элемент управления автоматически добавит вариант «неизвестно», который затем удалит, когда несоответствие будет устранено.
Необязательно, можно вложить единственный жёстко закодированный <option> элемент со значением, установленным в пустую строку, в <select> элемент. Этот элемент будет представлять null или вариант "не выбран". См. пример ниже для демонстрации.
ngRepeat может быть использован с <option> элементами вместо ngOptions для достижения аналогичного результата. Однако ngOptions предоставляет некоторые преимущества, такие как большая гибкость в том, как модель <select> присваивается через select as часть выражения comprehension, а также уменьшение потребления памяти и увеличение скорости, так как не создается новая область видимости для каждого повторяющегося экземпляра. Информация о директиве
- Эта директива выполняется на уровне приоритета 0.
Использование
- как элемент:
<select ng-model="string" [name="string"] [multiple="string"] [required="string"] [ng-required="string"] [ng-change="string"] [ng-options="string"]> ... </select>
Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| ngModel | string | Присваиваемое выражение Angular для привязки данных. |
| name (необязательно) | string | Имя свойства формы, в рамках которого публикуется элемент управления. |
| multiple (необязательно) | string | Разрешает выбор нескольких элементов. Выбранные значения будут привязаны к модели в виде массива. |
| required (необязательно) | string | Устанавливает |
| ngRequired (необязательно) | string | Добавляет атрибут required и ограничение валидации required к элементу, когда выражение ngRequired вычисляет значение true. Используйте ngRequired вместо required, когда вы хотите привязать атрибут required. |
| ngChange (необязательно) | string | Выражение Angular, которое должно быть выполнено, когда выбранный(ые) элемент(ы) меняется(ются) из-за взаимодействия пользователя с элементом select. |
| ngOptions (необязательно) | string | устанавливает опции, которыми заполняется select, и определяет, что устанавливается в модели при выборе. Смотрите |
Простые элементы select со статическими опциями
Использование ngRepeat для генерации опций select
Использование select с ngOptions и установка значения по умолчанию
См. документацию ngOptions для получения дополнительных ngOptions примеров использования.
Привязка select к значению, отличному от строки, через ngModel (парсинг/форматирование)
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/directive/select