From 2bce597acf69863a4c2dadaba68eab69a3289327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=9D=B0?= Date: Wed, 15 Jan 2025 11:49:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=8D=E5=B0=8F?= =?UTF-8?q?=E5=BF=83=E6=8F=90=E4=BA=A4=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/picker/components/Normal/index.tsx | 12 ++++++------ .../src/picker/components/Normal/useNormalPicker.ts | 5 ++--- packages/react-native-picker/src/picker/type.ts | 10 +--------- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/packages/react-native-picker/src/picker/components/Normal/index.tsx b/packages/react-native-picker/src/picker/components/Normal/index.tsx index e2dd6f0e0..0e4f60c11 100644 --- a/packages/react-native-picker/src/picker/components/Normal/index.tsx +++ b/packages/react-native-picker/src/picker/components/Normal/index.tsx @@ -13,7 +13,6 @@ function NormalPicker(props: ImperativeModalChildrenProps(props: ImperativeModalChildrenProps 0 ? data[0].value : undefined; + + const { selectedValue, handleOk, handleChange, handleClose } = useNormalPicker({ value, + initialValue, onChange, closeModal, }); - if (options.length === 0) return null; + if (data.length === 0) return null; return ( <> @@ -59,7 +59,7 @@ function NormalPicker(props: ImperativeModalChildrenProps - + ); diff --git a/packages/react-native-picker/src/picker/components/Normal/useNormalPicker.ts b/packages/react-native-picker/src/picker/components/Normal/useNormalPicker.ts index 746e1226e..dee169a61 100644 --- a/packages/react-native-picker/src/picker/components/Normal/useNormalPicker.ts +++ b/packages/react-native-picker/src/picker/components/Normal/useNormalPicker.ts @@ -6,11 +6,10 @@ import { NormalPickerProps } from '../../type'; export default function useNormalPicker({ value, + initialValue, onChange, closeModal, -}: ImperativeModalChildrenProps, 'data'>>) { - const initialValue = data.length > 0 ? data[0].value : undefined; - +}: ImperativeModalChildrenProps, 'data'> & { initialValue?: T }>) { const [selectedValue, selectValue] = useSafeState(value || initialValue); const handleChange = (val: PickerData) => { diff --git a/packages/react-native-picker/src/picker/type.ts b/packages/react-native-picker/src/picker/type.ts index 85785a50a..c301d9d2b 100644 --- a/packages/react-native-picker/src/picker/type.ts +++ b/packages/react-native-picker/src/picker/type.ts @@ -2,21 +2,13 @@ import { CascadePickerItemProps, WheelPickerPropsBase } from '../components/Whee export interface PickerProps extends WheelPickerPropsBase { /** 选择项列表 */ - data?: CascadePickerItemProps[]; - /** 请求数据 */ - request?: () => Promise[]>; + data: CascadePickerItemProps[]; /** 是否级联 */ cascade?: boolean; /** 展示几列 */ cols?: number; value?: T[] | T; onChange?: (value?: T extends (infer U)[] ? U[] : T) => void; - /** 字段名 */ - fieldNames?: { - label?: string; - value?: string; - children?: string; - }; } /** 弹窗Picker的属性 */