Select family
Четыре поля для выбора из списка. Меню, клавиатура и состояния у них общие; различаются они тем, как человек находит пункты и сколько может выбрать.
Select
<tk-select aria-label="Department" placeholder="Select a department"> <option>Design</option> <option>Engineering</option> <option>Finance</option> </tk-select>
Кнопка, которая открывает закрытый список. Нажатие буквы переводит к подходящему пункту.
Combobox
<tk-combobox aria-label="City" placeholder="Start typing a city"> <option>Amsterdam</option> <option>Berlin</option> <option>Copenhagen</option> <option>Lisbon</option> </tk-combobox>
Текстовое поле, которое фильтрует список по мере ввода. Пункты можно задать разметкой,
массивом или загружать с сервера. creatable позволяет добавить своё значение.
Multiselect
<tk-multiselect aria-label="Colors" placeholder="Choose colors"> <option selected>Red</option> <option>Green</option> <option selected>Blue</option> </tk-multiselect>
Выбранные пункты видны как чипы. Меню не закрывается, пока человек выбирает. С
searchable фильтрует как Combobox, а max ограничивает выбор.
Country select
<tk-country-select aria-label="Country" value="NL"></tk-country-select>
Combobox со встроенным списком всех стран, названиями на языке пользователя и флагами. Значение — двухбуквенный код.
Что у них общего
- Имя: любое из них можно поместить в
Field ради подписи, подсказки и ошибки или задатьaria-label. - Размеры:
medium(32px) иlarge(36px), как у Input и Button. - Состояния:
disabled(нельзя перейти, не отправляется) иreadonly(можно перейти, отправляется, но изменить нельзя). - Меню: одни и те же строки, галочки и заголовки групп из дочерних
<option>и<optgroup>. - Панели фильтров: у Select и Multiselect есть
variant="filter"— компактная кнопка сfilter-label.
<tk-select variant="filter" filter-label="Status"> <option>Open</option> <option>Closed</option> </tk-select> <tk-multiselect variant="filter" filter-label="Labels"> <option>Bug</option> <option>Feature</option> </tk-multiselect>
Когда использовать
| Нужно | Что взять |
|---|---|
| выбрать один пункт из списка от 4 пунктов до одного экрана | |
| выбрать один пункт из длинного списка, печатая | |
| выбрать страну | |
| выбрать несколько | searchable |
| выбрать из 2–3 пунктов, которые видны сразу | |
| выполнить действие |
Связанные
Field : подпись, подсказка и ошибка вокруг любого из них.Tag : чип, из которого собран Multiselect.Phone input : поле телефона с компактным Country select.Menu : пункты, которые выполняют действия.