gpt4 book ai didi

javascript - 使用自定义组件时如何在 React-Select 中设置所选项目的样式?

转载 作者:行者123 更新时间:2023-12-02 21:24:37 27 4
gpt4 key购买 nike

我们正在使用自定义 Emotion 组件,文档说相同的属性会传递给客户组件,但事实似乎并非如此。 isSelected 和其他属性似乎也不存在。

const Option = styled.div`
color: #444;
font-family: 'Open Sans', 'Arial', Sans-Serif !important;
font-size: 0.6875rem;
text-indent: 6px;
line-height: 1.85;

&:hover {
background: #9cbac2;
}

${props => {
return css`
background: ${props.isSelected ? 'red' : '#eee'}; // props.isSelected is not defined
`;
}}
`;


<Select
components={{
Option: ({ children, innerProps, innerRef }) => (
<Option ref={innerRef} {...innerProps}>
{children}
</Option>
),
}}
styles={reactSelectStyles} // Tried styling Option in the styles object, but that didn't work with a custom component
/>

最佳答案

isSelected 属性暴露给 Option 对象,只需将其传递给您的 Option 组件即可。

<Select
components={{
Option: ({ children, innerProps, innerRef, ...rest }) => (
<Option ref={innerRef} {...innerProps} {...rest}> // isSelected passed with `rest`
{children}
</Option>
)
}}
/>

Edit react-codesandboxer-example

关于javascript - 使用自定义组件时如何在 React-Select 中设置所选项目的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60766840/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com