From 222d3136874cf1f7547873119337e15951c39dbe Mon Sep 17 00:00:00 2001 From: kasparas-ban Date: Sat, 30 Mar 2024 12:41:46 +0200 Subject: [PATCH 1/2] Made flatListProps overwritable --- src/WheelPicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WheelPicker.tsx b/src/WheelPicker.tsx index cd0f0c4..a4c2ec2 100644 --- a/src/WheelPicker.tsx +++ b/src/WheelPicker.tsx @@ -129,7 +129,6 @@ const WheelPicker: React.FC = ({ ]} /> - {...flatListProps} ref={flatListRef} style={styles.scrollView} showsVerticalScrollIndicator={false} @@ -163,6 +162,7 @@ const WheelPicker: React.FC = ({ visibleRest={visibleRest} /> )} + {...flatListProps} /> ); From 85b766658a09d154340c51c238fc587e74aa4ea8 Mon Sep 17 00:00:00 2001 From: kasparas-ban Date: Sat, 30 Mar 2024 13:53:05 +0200 Subject: [PATCH 2/2] Added custom FlatList component --- src/WheelPicker.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/WheelPicker.tsx b/src/WheelPicker.tsx index a4c2ec2..d1641e6 100644 --- a/src/WheelPicker.tsx +++ b/src/WheelPicker.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo, useRef, useState } from 'react'; +import React, { ComponentType, MutableRefObject, useEffect, useMemo, useRef, useState } from 'react'; import { StyleProp, TextStyle, @@ -30,6 +30,7 @@ interface Props { visibleRest?: number; decelerationRate?: 'normal' | 'fast' | number; flatListProps?: Omit, 'data' | 'renderItem'>; + flatListComponent?: ComponentType | { ref: MutableRefObject }> } const WheelPicker: React.FC = ({ @@ -48,8 +49,9 @@ const WheelPicker: React.FC = ({ decelerationRate = 'fast', containerProps = {}, flatListProps = {}, + flatListComponent = null }) => { - const flatListRef = useRef(null); + const flatListRef = useRef(null); const [scrollY] = useState(new Animated.Value(0)); const containerHeight = (1 + visibleRest * 2) * itemHeight; @@ -113,6 +115,8 @@ const WheelPicker: React.FC = ({ }); }, [selectedIndex]); + const CustomFlatList = flatListComponent || Animated.FlatList + return ( = ({ }, ]} /> - +