Перейти к основному содержимому

Select

Отображает раскрывающийся список вариантов с возможностью выбора

Позволяет выбирать один вариант или множество вариантов из списка. Может иметь поле поиска. При включенном свойстве AutoTooltip обрезает длинный текст и отображает троеточие и подсказку с полным текстом при наведении указателя мыши. Имеет следующие варианты отображения:

  • Select: установка метки напротив выбранного варианта;
  • Underline: подчеркивание выбранного варианта;
  • Flat: выбор варианта по щелчку на кнопке.
  <Select
Label="С поиском"
Model-var="foo2"
HasSearch={true}
State-var={"_state"}
Error={foo => {
if (foo === 2) return 'Значение 2 нельзя выбирать';
}}
KeyField="key"
ValueField="value"
/>

Свойства

ИмяОписаниеТипЗначение по умолчаниюВозможные значения
AutoTooltipПризнак отображения подсказки к варианту при невозможности отображения полного текста варианта по ширине области компонентаbooleanFalse
AutoTooltipLineClampКоличество строк для подсказкиnumber2
AutofocusПризнак установки фокуса на компонентbooleanFalse
BadgeКоличественная информация в компонентах Menu, Accordion, Link, Text. В качестве значения может использоваться объект с полями: counter (число),
position ("post" или "pre"), color (цвет)
any
CSSМассив строк-классов CSS-стилей компонентаarray
CombineConfigКонфигурация всех событий компонента. Служебное свойство для генерации фрагментов кода в визуальном режиме редактора форм.
Не рекомендуется указывать значение вручную
object
DataHintПодсказка к компонентуstring
DisabledПризнак запрета на редактирование компонентаbooleanFalse
EmptyListTextЗамещающий текст при пустом списке вариантовstring
ErrorТескт ошибки при валидации компонента или undefined/false, если при валидации не обнаружены ошибкиbooleanFalse
ErrorMessageСообщение об ошибке при валидации компонента. Устаревшее свойство, используется только для совместимости с версиями Платформы до 3.0. Вместо ErrorMessage рекомендуется использовать свойство Errorstring
FocusedПризнак фокусировки на компонентеbooleanFalse
HasCleanПризнак возможности удаления ранее выбранного вариантаbooleanTrue
HasMultipleSearchПризнак наличия поля поиска при множественном выбореbooleanFalse
HasSearchПризнак наличия поля поискаbooleanFalse
HiddenПризнак состояния компонента СкрытbooleanFalse
HighlightErrorПризнак подсвечивания ошибкиbooleanTrue
HintПодсказка над компонентомstring
HintPositionСторона — правая или левая — для отображения подсказкиenumrightleft - Слева
right - Справа
top - Сверху
bottom - Снизу
topRight - Сверху справа
topLeft - Сверху слева
bottomRight - Снизу справа
bottomLeft - Снизу слева
IdИдентификатор компонента для навигации к нему на HTML-страницеstring
ItemAliasИдентификатор повторяющегося набора данныхstringitem
ItemIndexVariableИмя переменной для доступа к набору данных текущей итерацииstringi
KeyFieldЗначение ключа для отрисовки компонентаstring
LabelНадпись на компонентеstring
MaxHeightOptionsListМаксимальная высота (в пикселях) раскрытого списка вариантовnumber520
MaxLengthМаксимальная длина вводимой строкиnumber30
ModelПсевдоним свойств Value и OutputValueany
MultipleПризнак возможности выбора нескольких вариантов; при установке в true свойства Model, Value, OutputValue являются массивами ключейbooleanFalse
NoWriteOnInitПризнак отказа от записи данных в переменную, заданную в свойствах OutputValue или Model, при создании компонентаbooleanFalse
OnBlurПараметры команды, отправляемой при потере фокуса компонентомundefined
OnChangeПараметры команды, отправляемой при изменении компонента, например, при вводе текста, выборе из спискаundefined
OnClickОбработчик события нажатия кнопки мышиundefined
OnDelayПараметры команды, отправляемой по истечении секунды (для предотвращения ложного срабатывания обработчика события) после последнего изменения модели данныхundefined
OnEnterKeyDownПараметры команды, отправляемой по нажатию Enterundefined
OnFocusОбработчик события раскрытия списка вариантовundefined
OnKeyDownОбработчик события KeyDownundefined
OnKeyUpОбработчик события KeyUpundefined
OnMouseDownОбработчик события MouseDownundefined
OnMouseEnterОбработчик события MouseEnterundefined
OnMouseLeaveОбработчик события MouseLeaveundefined
OnMouseMoveОбработчик события MouseMoveundefined
OnMouseOutОбработчик события MouseOutundefined
OnMouseOverОбработчик события MouseOverundefined
OnMouseUpОбработчик события MouseUpundefined
OnSearchUpdateОбработчик события ввода текста в поле поискаundefined
OnUnmountОбработчик события Unmountundefined
OutputSearchValueИмя переменной для сохранения значения, введенного в поле поискаstring
OutputStateИмя переменной для записи информации, относящейся к состоянию компонента, но не относящейся к даннымany
OutputValueПривязка отрисованного компонента к моделиany
PortalForOptionsПризнак отрисовки списка вариантов отдельно от родительского узлаbooleanTrue
ReadOnlyПризнак запрета на редактирование компонента c возможностью копирования содержимогоbooleanFalse
RequiredПризнак обязательности заполнения. Не влияет на валидацию, отображает звездочку справа от надписиbooleanFalse
SearchPlaceholderЗаполнитель для строки поискаstring
SearchUpdateDebounceВремя задержки (в миллисекундах) после ввода текста в поле поиска до вызова обработчика события OnSearchUpdatenumber0
ShowOptionsListПризнак раскрытого списка вариантов при загрузке страницыbooleanFalse
SlotМетка для динамического добавления другого компонента по его идентификаторуstring
StateМассив объектов допустимых значенийarray
StyleВарианты отображения компонентаenumSelectSelect - Установка метки напротив выбранного варианта
Underline - Подчеркивание выбранного варианта
Flat - Выбор варианта по щелчку на кнопке
TextЗаполнитель (Placeholder)string
TooltipВсплывающая подсказка над компонентом, чаще используемая для пояснения назначения значкаany
TraceId
Идентификатор для отслеживания состояния компонента исходя из хронологической последовательности:
создание, отрисовка, обновление, удаление; используется для выполнения фрагмента кода по изменению состояния компонента
string
ValidationПризнак ошибки валидации компонента. Устаревшее свойство, используется только для совместимости с версиями Платформы до 3.0. Вместо Validation рекомендуется использовать свойство ErrorbooleanFalse
ValueПривязка модели к отрисованному компонентуany
ValueFieldКлюч для записи в модельstring
VisibleПризнак инверсии состояния компонента СкрытbooleanTrue
WriteModeИмя события, по которому меняется значение переменной состояния (экранной формы), переданной в качестве OutputValueenum- Режим ввода без контроля состояния компонента

Примеры

Данные:

  
"foo": 1,
"foo3": [1],
"_state": [
{ "key": 1, "value": "Бронницы, Московская область" },
{ "key": 2, "value": "Торжок, Тверская область" },
{ "key": 3, "value": "Санкт-Петербург, Ленинградская область" },
{ "key": 4, "value": "Москва" },
{ "key": 5, "value": "Бобров, Воронежская область" }
],
"customItems": [
{
"id": 27,
"uuid": "ca6aba2e-8e26-4063-82d3-af5aa0fd88a0",
"value": "10UCB_Electrical1.ifc",
"fileSize": "20 Мб",
"fileUploadedAt": "16.08.2023"
},
{
"id": 28,
"uuid": "95629fe7-69c3-4024-9367-eaf9b371f429",
"value": "RHosp_SC_01.01_AR21.ifc",
"fileSize": "4 Мб",
"fileUploadedAt": "21.08.2023"
},
{
"id": 29,
"uuid": "fa67541f-1b6d-4214-94cd-48b696112897",
"value": "RHosp_SS_01.01AR21.ifc",
"fileSize": "7 Мб",
"fileUploadedAt": "21.08.2023"
},
{
"id": 87,
"uuid": "c97f29b2-efbe-4bbf-9572-eab43566a952",
"value": "K09C1KP2P_R20.ifc",
"fileSize": "571 Кб",
"fileUploadedAt": "05.09.2023"
},
{
"id": 296,
"uuid": "4d6f2ae7-4159-47ab-b498-a0e313388bbb",
"value": "20UFBElectrical.ifc",
"fileSize": "41 Мб",
"fileUploadedAt": "11.09.2023"
},
{
"id": 297,
"uuid": "ee32efcc-72a8-434c-801c-3030a2b4c474",
"value": "K09C1KP2P_R20.ifc",
"fileSize": "60 Мб",
"fileUploadedAt": "11.09.2023"
},
{
"id": 1051,
"uuid": "abc67cd6-a558-4616-bd19-5d69be2beb79",
"value": "20UFB_Radiaton_Monitoring.ifc",
"fileSize": "220 Кб",
"fileUploadedAt": "22.09.2023"
}
]

}

JSX:

<Group CSS={['px-8']}>
<Form AutoMargin={16}>
<Select
Label="custom item"
Model-var="fuk"
KeyField="id"
ValueField="value"
State-var="customItems"
ItemAlias="item"
>
<Group Slot="ItemTemplate" Mode="Wrap">
<Group CSS={["mb-4"]}>
<Text Mode="Regular_14_2" Color="MAIN_9" Value-var="item.value" />
</Group>
<Group>
<Text Mode="Regular_12" Color="GRAY_7" Value-var="item.fileSize" />
<Text Mode="Regular_12" Color="GRAY_7" Value-var="item.fileUploadedAt" CSS={["pl-4"]}/>
</Group>
</Group>
</Select>
<Select
Label="Автотултипы"
Model-var="foon"
AutoTooltip={true}
AutoTooltipLineClamp={5}
State={[
{ key: 1, value: 'test1' },
{ key: 2, value: 'На этом тексте автоматически показывается тултип если не влезает текст. ' },
{ key: 3, value: 'test1' },
{ key: 4, value: 'На этом тексте автоматически показывается тултип если не влезает текст. ' },
{ key: 5, value: 'test1' },
{ key: 6, value: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' },
{ key: 7, value: 'test1' },
]}
KeyField="key"
ValueField="value"
/>
<Select
Label="Disabled"
Model-var="foo"
State-var={"_state"}
Error={foo => {
if (foo === 2) return 'Значение 2 нельзя выбирать';
}}
KeyField="key"
ValueField="value"
Disabled={true}
/>
<Select
ReadOnly={true}
Label="ReadOnly"
Model-var="foo"
State-var={"_state"}
KeyField="key"
ValueField="value"
/>
<Select
Label="С поиском"
Model-var="foo2"
HasSearch={true}
State-var={"_state"}
Error={foo => {
if (foo === 2) return 'Значение 2 нельзя выбирать';
}}
KeyField="key"
ValueField="value"
/>
<Select
Label="Множественный выбор с возможностью ввода значений"
Model-var="foo3"
State-var={"_state"}
KeyField="key"
ValueField="value"
Multiple={true}
HasMultipleSearch={true}
Text="Выберите города…"
/>
</Form>
</Group>