Skip to content

Commit bf693c7

Browse files
committed
chore: clean up useless types
1 parent 056c5f3 commit bf693c7

File tree

1 file changed

+4
-31
lines changed

1 file changed

+4
-31
lines changed

src/Select.tsx

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export interface DefaultOptionType extends BaseOptionType {
9191
children?: Omit<DefaultOptionType, 'children'>[];
9292
}
9393

94-
export interface SharedSelectProps<OptionType extends BaseOptionType = DefaultOptionType>
94+
export interface SelectProps<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType>
9595
extends BaseSelectPropsWithoutPrivate {
9696
prefixCls?: string;
9797
id?: string;
@@ -131,47 +131,20 @@ export interface SharedSelectProps<OptionType extends BaseOptionType = DefaultOp
131131

132132
// >>> Icon
133133
menuItemSelectedIcon?: RenderNode;
134-
}
135134

136-
export interface SingleSelectProps<
137-
ValueType = any,
138-
OptionType extends BaseOptionType = DefaultOptionType,
139-
> extends SharedSelectProps<OptionType> {
140-
mode?: 'combobox';
135+
mode?: 'combobox' | 'multiple' | 'tags';
141136
labelInValue?: boolean;
142137
value?: ValueType | null;
143138
defaultValue?: ValueType | null;
144-
onChange?: (value: ValueType, option: OptionType) => void;
145-
}
146-
147-
export interface MultipleSelectProps<
148-
ValueType = any[],
149-
OptionType extends BaseOptionType = DefaultOptionType,
150-
> extends SharedSelectProps<OptionType> {
151-
mode: 'multiple' | 'tags';
152-
labelInValue?: boolean;
153-
value?: ValueType[] | null;
154-
defaultValue?: ValueType[] | null;
155-
onChange?: (value: ValueType[], option: OptionType[]) => void;
139+
onChange?: (value: ValueType, option: OptionType | OptionType[]) => void;
156140
}
157141

158-
export type SelectProps<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType> =
159-
| SingleSelectProps<ValueType, OptionType>
160-
| MultipleSelectProps<ValueType, OptionType>;
161-
162-
export type InternalSelectProps<
163-
ValueType = any,
164-
OptionType extends BaseOptionType = DefaultOptionType,
165-
> = Omit<SelectProps<ValueType, OptionType>, 'onChange'> & {
166-
onChange?: (value: DraftValueType, option: OptionType | OptionType[]) => void;
167-
};
168-
169142
function isRawValue(value: DraftValueType): value is RawValueType {
170143
return !value || typeof value !== 'object';
171144
}
172145

173146
const Select = React.forwardRef(
174-
(props: InternalSelectProps<any, DefaultOptionType>, ref: React.Ref<BaseSelectRef>) => {
147+
(props: SelectProps<any, DefaultOptionType>, ref: React.Ref<BaseSelectRef>) => {
175148
const {
176149
id,
177150
mode,

0 commit comments

Comments
 (0)