Skip to content

Commit 973a4e7

Browse files
authored
fix: SelectHandler type fix (#864)
1 parent 68662b1 commit 973a4e7

File tree

2 files changed

+46
-3
lines changed

2 files changed

+46
-3
lines changed

src/Select.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,10 @@ export interface DefaultOptionType extends BaseOptionType {
9797
children?: Omit<DefaultOptionType, 'children'>[];
9898
}
9999

100-
export type SelectHandler<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType> =
101-
| ((value: RawValueType | LabelInValueType, option: OptionType) => void)
102-
| ((value: ValueType, option: OptionType) => void);
100+
export type SelectHandler<ValueType, OptionType extends BaseOptionType = DefaultOptionType> = (
101+
value: ValueType,
102+
option: OptionType,
103+
) => void;
103104

104105
type ArrayElementType<T> = T extends (infer E)[] ? E : T;
105106

tests/type.test.tsx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import React from 'react';
2+
import Select from '../src';
3+
4+
describe('Select.typescript', () => {
5+
it('Select.items', () => {
6+
const select = (
7+
<Select
8+
onSelect={(value: string) => {
9+
console.log(value);
10+
}}
11+
>
12+
<Select.Option value="jack">jack</Select.Option>
13+
</Select>
14+
);
15+
16+
expect(select).toBeTruthy();
17+
});
18+
19+
it('Select.items Customizable ValueType', () => {
20+
const select = (
21+
<Select<string, { value: string; title: string }>
22+
defaultValue="TEAM_1"
23+
showSearch
24+
style={{ width: 200 }}
25+
optionFilterProp="children"
26+
onSelect={(_, option) => {
27+
console.log(option);
28+
}}
29+
filterOption={(input, option) =>
30+
(option && option.title.toLowerCase().indexOf(input.toLowerCase()) >= 0) ?? false
31+
}
32+
>
33+
<Select.Option key="TEAM_1" value="TEAM_1" title="Team 1">
34+
Team 131
35+
</Select.Option>
36+
))
37+
</Select>
38+
);
39+
40+
expect(select).toBeTruthy();
41+
});
42+
});

0 commit comments

Comments
 (0)