因此,根据劳拉的回答,我的解决方案是使用
onMenuClose和
onMenuOpen设置样式化组件中属性的状态。
const indicatorStyle = (props: StyledSelectProps & DropdownProps<{}>) => css` & .react-select__indicators { & .react-select__dropdown-indicator { transition: all .2s ease; transform: ${props.isOpen && "rotate(180deg)"}; } }`;此函数在样式化组件的css内部调用。
然后在组件中调用样式化组件,然后控制状态:
export class Dropdown<TValue> extends React.Component<DropdownProps<TValue>> { public state = { isOpen: false }; private onMenuOpen = () => this.setState({ isOpen: true }); private onMenuClose = () => this.setState({ isOpen: false }); public render() { const { ...props } = this.props; const { isOpen } = this.state; return ( <StyledSelect {...props} isOpen={isOpen} onMenuOpen={this.onMenuOpen} onMenuClose={this.onMenuClose} /> ); }}有点令人费解,但现在可以使用。



