Select

import { Select } from '@megafon/ui-core';
Код DemoSelectWrapper
const DemoSelectWrapper = props => {
const [currentValue, setCurrentValue] = React.useState();
const handleSelect = (_e, data) => {
if (!data) {
setCurrentValue('');
return;
}
setCurrentValue(data.value);
};
return (
<div style={DemoSelectWrapperStyle}>
{props.children({
onSelect: handleSelect,
currentValue: currentValue,
})}
</div>
);
};
Демо данные
const items = [
{
value: 0,
title: 'Авиамоторная',
},
{
value: 1,
title: 'Автозаводская',
},
{
value: 2,
title: 'Академическая',
},
{
value: 3,
title: 'Бабушкинская',
},
{
value: 4,
title: 'Багратионовская',
},
{
value: 5,
title: 'ВДНХ',
},
{
value: 6,
title: 'Варшавская',
},
{
value: 7,
title: 'Деловой центр',
},
{
value: 8,
title: 'Дмитровская',
},
{
value: 9,
title: 'Калужская',
},
{
value: 10,
title: 'Кантемировская',
view: ({ filterValue }) => {
const query = filterValue.replace(/[^A-Z-a-zА-ЯЁа-яё0-9]/g, (w) => '\\' + w);
const stringFragments = 'Кантемировская'.split(RegExp(`(${query})`, 'ig'));
return (
<>
{stringFragments.map((fragment, i) => (
<React.Fragment key={i}>
{(fragment.toLowerCase() === filterValue.toLowerCase() && fragment !== '')
? <b>{fragment}</b>
: fragment
}
</React.Fragment>
))}
</>
);
},
},
];

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

Choose your step
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская

С коротким списком элементов

Choose your step
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская

С кастомным отображением элементов

Choose your step
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская

Выключенное состояние

You have no choice
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская

Валидация

Бабушкинская
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская
Success message
Choose your step
Авиамоторная
Автозаводская
Академическая
Бабушкинская
Багратионовская
ВДНХ
Варшавская
Деловой центр
Дмитровская
Калужская
Кантемировская
Error message

Тип сombobox

Ничего не нашлось
Ничего не нашлось