Skip to content

Commit fbabc91

Browse files
committed
feat: support semantic for baseSelect
1 parent 327196e commit fbabc91

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/BaseSelect/index.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
283283
placement,
284284
builtinPlacements,
285285
getPopupContainer,
286+
styles: baseSelectStyles,
287+
classNames: baseSelectClassNames,
286288

287289
// Focus
288290
showAction = [],
@@ -412,9 +414,12 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
412414
maxCount,
413415
rawValues,
414416
classNames: selectClassNames,
415-
styles,
417+
styles: selectStyles,
416418
} = React.useContext<SelectContextProps>(SelectContext) || {};
417419

420+
const contextClassNames = baseSelectClassNames ?? selectClassNames;
421+
const contextStyles = baseSelectStyles ?? selectStyles;
422+
418423
const onInternalSearch = (searchText: string, fromTyping: boolean, isCompositing: boolean) => {
419424
if (multiple && isValidCount(maxCount) && rawValues?.size >= maxCount) {
420425
return;
@@ -703,6 +708,8 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
703708
multiple,
704709
toggleOpen: onToggleOpen,
705710
showScrollBar,
711+
styles: contextStyles,
712+
classNames: contextClassNames,
706713
}),
707714
[
708715
props,
@@ -728,10 +735,10 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
728735
if (showSuffixIcon) {
729736
arrowNode = (
730737
<TransBtn
731-
className={classNames(`${prefixCls}-arrow`, selectClassNames?.suffix, {
738+
className={classNames(`${prefixCls}-arrow`, contextClassNames?.suffix, {
732739
[`${prefixCls}-arrow-loading`]: loading,
733740
})}
734-
style={styles?.suffix}
741+
style={contextStyles?.suffix}
735742
customizeIcon={suffixIcon}
736743
customizeIconProps={{
737744
loading,
@@ -821,8 +828,8 @@ const BaseSelect = React.forwardRef<BaseSelectRef, BaseSelectProps>((props, ref)
821828
) : (
822829
<Selector
823830
{...props}
824-
prefixClassName={selectClassNames?.prefix}
825-
prefixStyle={styles?.prefix}
831+
prefixClassName={contextClassNames?.prefix}
832+
prefixStyle={contextStyles?.prefix}
826833
domRef={selectorDomRef}
827834
prefixCls={prefixCls}
828835
inputElement={customizeInputElement}

src/Selector/Input.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import classNames from 'classnames';
33
import { composeRef } from '@rc-component/util/lib/ref';
44
import { warning } from '@rc-component/util/lib/warning';
55
import SelectContext from '../SelectContext';
6+
import useBaseProps from '../hooks/useBaseProps';
67
type InputRef = HTMLInputElement | HTMLTextAreaElement;
78

89
interface InputProps {
@@ -57,8 +58,11 @@ const Input: React.ForwardRefRenderFunction<InputRef, InputProps> = (props, ref)
5758
open,
5859
attrs,
5960
} = props;
60-
const { classNames: contextClassNames, styles: contextStyles } =
61+
const { classNames: selectClassNames, styles: selectStyles } =
6162
React.useContext(SelectContext) || {};
63+
const { classNames: baseSelectClassNames, styles: baseSelectStyles } = useBaseProps() || {};
64+
const contextClassNames = selectClassNames ?? baseSelectClassNames;
65+
const contextStyles = selectStyles ?? baseSelectStyles;
6266

6367
let inputNode: React.ComponentElement<any, any> = inputElement || <input />;
6468

0 commit comments

Comments
 (0)