Ответ 1
реагировать выберите v2 (обновление)
Эта новая версия представляет новый styles-api
и некоторые другие важные изменения.
Пользовательские Стили
Стиль отдельных компонентов с помощью пользовательских CSS с использованием стилей проп.
const colourStyles = {
control: styles => ({ ...styles, backgroundColor: 'white' }),
option: (styles, { data, isDisabled, isFocused, isSelected }) => {
const color = chroma(data.color);
return {
...styles,
backgroundColor: isDisabled ? 'red' : blue,
color: '#FFF',
cursor: isDisabled ? 'not-allowed' : 'default',
...
};
},
...
};
export default () => (
<Select
defaultValue={items[0]}
label="Single select"
options={items}
styles={colourStyles}
/>
);
Теперь на сайте проекта есть лучшая документация и более наглядные примеры:
https://react-select.com/upgrade-guide#new-styles-api
https://react-select.com/home#custom-styles
https://react-select.com/styles#styles
реакция-выбор v1 (старый ответ - не рекомендуется)
Пользовательские classNames
Вы можете предоставить свой компонент className для компонента, который будет добавлен в базу. Выберите className для внешнего контейнера. Встроенный рендерер параметров также поддерживает пользовательские имена классов.
Добавьте свое собственное имяclassName
в качестве свойства к объектам в массиве параметров: const options = [
{label: "one", value: 1, className: 'custom-class'},
{label: "two", value: 2, className: 'awesome-class'}
// more options...
];
...
<Select options={options} />
MenuRender
Свойство menuRenderer можно использовать для переопределения раскрывающегося списка параметров по умолчанию.
optionClassName
String
Имя_класса, которое используется для опций
Пример: response-select/master/src/utils/defaultMenuRenderer.js