@@ -30,6 +30,7 @@ import { getSeparatedContent, isValidCount } from '../utils/valueUtil';
3030import SelectContext from '../SelectContext' ;
3131import type { SelectContextProps } from '../SelectContext' ;
3232import Polite from './Polite' ;
33+ import { SemanticName } from '../Select' ;
3334
3435export type {
3536 DisplayInfoType ,
@@ -131,6 +132,8 @@ export type BaseSelectPropsWithoutPrivate = Omit<BaseSelectProps, keyof BaseSele
131132export interface BaseSelectProps extends BaseSelectPrivateProps , React . AriaAttributes {
132133 className ?: string ;
133134 style ?: React . CSSProperties ;
135+ classNames ?: Partial < Record < SemanticName , string > > ;
136+ styles ?: Partial < Record < SemanticName , React . CSSProperties > > ;
134137 title ?: string ;
135138 showSearch ?: boolean ;
136139 tagRender ?: ( props : CustomTagProps ) => React . ReactElement ;
@@ -291,6 +294,9 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
291294 onKeyDown,
292295 onMouseDown,
293296
297+ classNames : selectClassNames ,
298+ styles,
299+
294300 // Rest Props
295301 ...restProps
296302 } = props ;
@@ -720,9 +726,10 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
720726 if ( showSuffixIcon ) {
721727 arrowNode = (
722728 < TransBtn
723- className = { classNames ( `${ prefixCls } -arrow` , {
729+ className = { classNames ( `${ prefixCls } -arrow` , selectClassNames ?. suffix , {
724730 [ `${ prefixCls } -arrow-loading` ] : loading ,
725731 } ) }
732+ style = { styles ?. suffix }
726733 customizeIcon = { suffixIcon }
727734 customizeIconProps = { {
728735 loading,
@@ -812,6 +819,8 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
812819 ) : (
813820 < Selector
814821 { ...props }
822+ prefixClassName = { selectClassNames ?. prefix }
823+ prefixStyle = { styles ?. prefix }
815824 domRef = { selectorDomRef }
816825 prefixCls = { prefixCls }
817826 inputElement = { customizeInputElement }
0 commit comments