Select

Выбор одного или нескольких вариантов из списка.

options содержит объекты { display, value, disabled, badge }. multiple включает множественный выбор; search добавляет поиск. badge в опции — пропсы Badge или готовый элемент. leftAddon и rightAddon ставят кнопку слева или справа от поля. В управляемом режиме снятие выбора очищает поле.

Живой пример

Настройки примера

Использование

import { Select } from '@prosazhin/pbcomponents';

const options = ['One', 'Two', 'Three', 'Four', 'Five'].map((display, index) => ({
  display,
  value: String(index),
}));

<Select
  options={options}
  placeholder='Placeholder'
/>;

API компонента

PropТип / вариантыНазначениеПо умолчанию
size's' | 'm's · mРазмер компонента.m
disabledbooleanБлокирует взаимодействие.false
errorbooleanПоказывает состояние ошибки.false
placeholderstringПодсказка в пустом поле.—
classNamestringКласс корневого элемента.—
wrapperClassNamestringКласс внешней обёртки.—
valueOption | Option[]Текущий выбранный вариант.—
onChange(value: Option | Option[]) => voidВызывается после изменения значения.—
defaultValueOption | Option[]Начальный выбранный вариант.—
optionsOption[]Варианты с display, value и необязательными disabled и badge (пропсы Badge или элемент).—
multiplebooleanРазрешает несколько значений.false
searchbooleanДобавляет поиск по вариантам.false
searchPlaceholderstringПодсказка в строке поиска.—
leftAddonReactNodeКнопка или другой элемент слева от поля.—
rightAddonReactNodeКнопка или другой элемент справа от поля.—
popoverClassNamestringКласс списка вариантов.—
popoverItemClassNamestringКласс пункта списка.—

Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.