Skip to content

Commit 5a7dd4d

Browse files
committed
Fix TS issues
1 parent afd7b82 commit 5a7dd4d

File tree

4 files changed

+38
-9
lines changed

4 files changed

+38
-9
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/// <reference types="react" />
2+
import { TextStyle } from 'react-native';
3+
export interface ItemProps {
4+
text: string;
5+
value: string | number;
6+
}
7+
interface InternalProps extends ItemProps {
8+
index: number;
9+
offset: any;
10+
itemHeight: number;
11+
textStyle?: TextStyle;
12+
onSelect: (index: number) => void;
13+
}
14+
declare const _default: ({ index, text, textStyle, itemHeight, onSelect, offset }: InternalProps) => JSX.Element;
15+
export default _default;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/// <reference types="react" />
2+
import { TextStyle } from 'react-native';
3+
import { ItemProps } from './Item';
4+
export interface WheelPickerProps {
5+
items?: ItemProps[];
6+
itemHeight?: number;
7+
itemTextStyle?: TextStyle;
8+
onChange: (item: ItemProps, index: number) => void;
9+
}
10+
declare const WheelPicker: ({ items, itemHeight, itemTextStyle }: WheelPickerProps) => JSX.Element;
11+
export default WheelPicker;

src/incubator/WheelPicker/Item.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@ const AnimatedText = Animated.createAnimatedComponent(Text);
1313
export interface ItemProps {
1414
text: string;
1515
value: string | number;
16-
onSelect: (index: number) => void;
1716
}
1817

1918
interface InternalProps extends ItemProps {
2019
index: number;
2120
offset: any;
2221
itemHeight: number;
2322
textStyle?: TextStyle;
23+
onSelect: (index: number) => void;
2424
}
2525

2626
export default ({
2727
index,
2828
text,
2929
textStyle,
30-
value,
30+
// value,
3131
itemHeight,
3232
onSelect,
3333
offset
@@ -70,6 +70,7 @@ export default ({
7070
style={{
7171
height: itemHeight,
7272
opacity,
73+
// @ts-ignore
7374
transform: transformOrigin({x: 125, y: 24}, {rotateX})
7475
}}
7576
key={index}

src/incubator/WheelPicker/index.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,23 @@ const WheelPicker = ({
2525
itemTextStyle
2626
}: WheelPickerProps) => {
2727
const height = itemHeight * 4;
28-
const scrollview = useRef();
28+
const scrollview = useRef<Animated.ScrollView>();
2929
const [offset] = useValues([0], []);
3030
const onScroll = onScrollEvent({y: offset});
3131

3232
const selectItem = useCallback(
3333
(index) => {
34-
scrollview.current
35-
.getNode()
36-
.scrollTo({y: index * itemHeight, animated: true});
34+
if (scrollview.current) {
35+
scrollview.current
36+
.getNode()
37+
.scrollTo({y: index * itemHeight, animated: true});
38+
}
3739
},
3840
[itemHeight]
3941
);
4042

4143
const onChange = useCallback(() => {
42-
// TODO: need to implement on change event that calc the current selected index
43-
44+
// TODO: need to implement on change event that calc the current selected index
4445
}, [itemHeight]);
4546

4647
return (
@@ -51,6 +52,7 @@ const WheelPicker = ({
5152
onScroll={onScroll}
5253
onMomentumScrollEnd={onChange}
5354
showsVerticalScrollIndicator={false}
55+
// @ts-ignore
5456
ref={scrollview}
5557
contentContainerStyle={{
5658
paddingVertical: height / 2 - itemHeight / 2
@@ -64,10 +66,10 @@ const WheelPicker = ({
6466
key={item.value}
6567
index={index}
6668
itemHeight={itemHeight}
67-
onSelect={selectItem}
6869
offset={offset}
6970
textStyle={itemTextStyle}
7071
{...item}
72+
onSelect={selectItem}
7173
/>
7274
);
7375
})}

0 commit comments

Comments
 (0)