Skip to content

Commit 7496cac

Browse files
committed
chore(Picker): fix 滑动时再点击会有定时器残留
1 parent 1c7c2f8 commit 7496cac

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

packages/core/src/Picker/index.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import {
1515
Pressable,
1616
} from 'react-native';
1717

18-
export interface PickerDate {
18+
export interface PickerData {
1919
label?: string;
20-
render?: (key: string, record: PickerDate, index: number) => React.ReactNode;
20+
render?: (key: string, record: PickerData, index: number) => React.ReactNode;
2121
[key: string]: any;
2222
}
2323

@@ -27,7 +27,7 @@ export interface PickerProps {
2727
/** 指定需要显示的 key, 默认使用 data 的 label 属性 */
2828
key?: string;
2929
/** 需要渲染的数据 */
30-
date?: Array<PickerDate>;
30+
data?: Array<PickerData>;
3131
/** item 容器样式 */
3232
containerStyle?: {
3333
/** 激活的容器样式 */
@@ -52,7 +52,7 @@ const Picker = (props: PickerProps) => {
5252
const {
5353
lines = 3,
5454
key = 'label',
55-
date = new Array<PickerDate>(),
55+
data = new Array<PickerData>(),
5656
containerStyle = {},
5757
textStyle = {},
5858
value = 0,
@@ -70,10 +70,13 @@ const Picker = (props: PickerProps) => {
7070
useEffect(() => {
7171
onChange?.(current);
7272
onPressORonScroll.current = 'onScroll';
73+
clearTimeout(timer.current!);
74+
timer.current = undefined;
75+
clearTimeout(onPressTimer.current!);
7376
}, [current]);
7477
useEffect(() => {
7578
if (value !== current) {
76-
let leng = value > date.length - 1 ? date.length - 1 : value;
79+
let leng = value > data.length - 1 ? data.length - 1 : value;
7780
leng = leng < 0 ? 0 : leng;
7881
location((style.containerHeight as number) * (leng + 1), leng);
7982
setCurrent(leng);
@@ -162,7 +165,7 @@ const Picker = (props: PickerProps) => {
162165
useNativeDriver: false,
163166
})}
164167
>
165-
{date.map((item, index) => (
168+
{data.map((item, index) => (
166169
<Pressable
167170
onLayout={getItemHeight}
168171
key={index}

0 commit comments

Comments
 (0)