React-Select использует EmotionJ для стилизации, и можно передать стили переопределения для любого внутреннего компонента.Скажем, например, я хотел переопределить базовый стиль элемента управления Menu.Я мог бы предоставить метод для этого:
const menuStyles = (base, state) => {
const { menuIsOpen } = state.selectProps;
let addons = {
border: '1px solid #ccc',
zIndex: 1000,
marginTop: 0
};
if (menuIsOpen) {
addons = Object.assign(addons, {
borderTopLeftRadius: 0,
borderTopRightRadius: 0,
borderTop: 0,
boxShadow: '0 4px 5px rgba(0, 0, 0, .15)'
});
}
return Object.assign(base, addons);
};
// ...
<Select styles={{menu: menuStyles}} />
Требуется немного потренироваться, чтобы действительно все это понять, но в документации есть довольно хорошая тема .
Примечание: Кикер пытается выяснить, какой Component
является компонентом, который вы действительно хотите стилизовать.Компонент Input
не является вводом HTML.Единственный, используемый с React-Select - это скрытый элемент управления.Скорее всего, вы пытаетесь стилизовать один из множества элементов Контейнера, составляющих видимый элемент управления, например SelectContainer
, ValueContainer
или, возможно, MultiValueContainer
.Как я уже сказал, вам нужно немного поиграть, но вы можете сделать это.В документации также есть хорошая документация по компонентам.