# Select Props (свойства) для компонента Select: [{"name":"onChange","type":{"name":"((value: T, item: K | null) => void)"}},{"name":"placeholder","type":{"name":"string"}},{"name":"onScroll","type":{"name":"(((e: UIEvent) => void) & UIEventHandler)"}},{"name":"value","type":{"name":"T"}},{"name":"contentLeft","type":{"name":"ReactNode"}},{"name":"separator","type":{"name":"string"}},{"name":"status","type":{"name":"enum","raw":"\"warning\" | \"success\" | \"error\"","value":[{"value":"\"warning\""},{"value":"\"success\""},{"value":"\"error\""}]}},{"name":"label","type":{"name":"string"}},{"name":"target","type":{"name":"enum","raw":"\"textfield-like\" | \"button-like\"","value":[{"value":"\"textfield-like\""},{"value":"\"button-like\""}]}},{"name":"items","type":{"name":"K[]"}},{"name":"mode","type":{"name":"enum","raw":"\"radio\" | \"default\"","value":[{"value":"\"radio\""},{"value":"\"default\""}]}},{"name":"onToggle","type":{"name":"((isOpen: boolean) => void)"}},{"name":"readOnly","type":{"name":"boolean"}},{"name":"required","type":{"name":"boolean"}},{"name":"labelPlacement","type":{"name":"string"}},{"name":"hintView","type":{"name":"string"}},{"name":"hintSize","type":{"name":"string"}},{"name":"placement","type":{"name":"SelectPlacement | SelectPlacementBasic[]"}},{"name":"helperText","type":{"name":"string"}},{"name":"variant","type":{"name":"enum","raw":"\"normal\" | \"tight\"","value":[{"value":"\"normal\""},{"value":"\"tight\""}]}},{"name":"zIndex","type":{"name":"ZIndex"}},{"name":"listMaxHeight","type":{"name":"Height"}},{"name":"listWidth","type":{"name":"Width"}},{"name":"portal","type":{"name":"string | RefObject"}},{"name":"renderItem","type":{"name":"((item: K) => ReactNode)"}},{"name":"closeAfterSelect","type":{"name":"boolean"}},{"name":"beforeList","type":{"name":"ReactNode"}},{"name":"afterList","type":{"name":"ReactNode"}},{"name":"virtual","type":{"name":"boolean"}},{"name":"listHeight","type":{"name":"Height"}},{"name":"listOverflow","type":{"name":"Overflow"}},{"name":"keepPlaceholder","type":{"name":"boolean"}},{"name":"isTargetAmount","type":{"name":"boolean"}},{"name":"renderValue","type":{"name":"((item: K) => string)"}},{"name":"requiredPlacement","type":{"name":"enum","raw":"\"right\" | \"left\"","value":[{"value":"\"right\""},{"value":"\"left\""}]}},{"name":"optional","type":{"name":"boolean"}},{"name":"hasRequiredIndicator","type":{"name":"boolean"}},{"name":"hintText","type":{"name":"string"}},{"name":"hintTrigger","type":{"name":"enum","raw":"\"hover\" | \"click\"","value":[{"value":"\"hover\""},{"value":"\"click\""}]}},{"name":"hintTargetIcon","type":{"name":"ReactNode"}},{"name":"hintTargetPlacement","type":{"name":"enum","raw":"\"outer\" | \"inner\"","value":[{"value":"\"outer\""},{"value":"\"inner\""}]}},{"name":"hintPlacement","type":{"name":"Placement | ComputedPlacement[]"}},{"name":"hintHasArrow","type":{"name":"boolean"}},{"name":"hintOffset","type":{"name":"[number, number]"}},{"name":"hintWidth","type":{"name":"string"}},{"name":"hintContentLeft","type":{"name":"ReactNode"}},{"name":"onItemSelect","type":{"name":"((e: K, event: SyntheticEvent) => void)"}},{"name":"isOpen","type":{"name":"boolean"}},{"name":"chipType","type":{"name":"enum","raw":"\"text\" | \"default\"","value":[{"value":"\"text\""},{"value":"\"default\""}]}},{"name":"multiselect","type":{"name":"boolean"}},{"name":"renderTarget","type":{"name":"((item: K | K[], opened?: boolean) => ReactNode)"}},{"name":"hasItems","type":{"name":"boolean"}},{"name":"onScrollBottom","type":{"name":"((e: UIEvent) => void)"}},{"name":"disabled","type":{"name":"boolean"}},{"name":"view","type":{"name":"enum","raw":"\"clear\" | \"default\" | \"secondary\" | \"accent\" | \"positive\" | \"warning\" | \"negative\" | \"dark\" | \"black\" | \"white\"","value":[{"value":"\"clear\""},{"value":"\"default\""},{"value":"\"secondary\""},{"value":"\"accent\""},{"value":"\"positive\""},{"value":"\"warning\""},{"value":"\"negative\""},{"value":"\"dark\""},{"value":"\"black\""},{"value":"\"white\""}]}},{"name":"size","type":{"name":"enum","raw":"\"m\" | \"s\" | \"l\" | \"xs\"","value":[{"value":"\"m\""},{"value":"\"s\""},{"value":"\"l\""},{"value":"\"xs\""}]}},{"name":"chipView","type":{"name":"enum","raw":"\"default\" | \"secondary\" | \"accent\"","value":[{"value":"\"default\""},{"value":"\"secondary\""},{"value":"\"accent\""}]}},{"name":"selectAllOptions","type":{"name":"SelectAllProps"}}] ## Использование Обязательным параметром являются: `items` , `value` и `onChange` . Внутри items может быть такой же вложенный массив items. Формат следующий: ```tsx type Items = Array<{ /** * Значение у item */ value: string; /** * Метка-подпись к item */ label: string; /** * Сторона открытия вложенного дропдауна относительно текущего элемента; */ placement: SelectPlacement | Array; /** * Список дочерних items. */ items?: Array; /** * Item не активен */ disabled?: boolean; /** * Слот для контента слева */ contentLeft?: ReactNode; /** * Слот для контента справа */ contentRight?: ReactNode; /** * Выбранный item. * @deprecated */ isActive?: boolean; /** * Кастомный цвет текста * @deprecated */ color?: string; /** * Айтем не активен * @deprecated использовать disabled */ isDisabled?: boolean; }>; ``` Тип выбора селекта - одиночный или множественный зависит от типа `value` и `onChange` . В одиночном value - `string` , в множественном - `Array` . Select может выглядеть как Button и как Textfield. За это отвечает пропс - `target` . Есть возможность прокидывать компонент `EmptyState` в пропс `renderList` для изменения содержимого выпадающего окна. Это нужно в случаях, когда произошла ошибка при загрузке `items` , либо когда `items` пустой. Более подробно в примерах.