@@ -95,8 +95,8 @@ const Picker = React.forwardRef((props: PickerProps, ref) => {
95
95
} = themeProps ;
96
96
const { preset} = others ;
97
97
98
- const [ selectedItemPosition , setSelectedItemPosition ] = useState ( 0 ) ;
99
- const [ items , setItems ] = useState ( propItems || extractPickerItems ( themeProps ) ) ;
98
+ const [ selectedItemPosition , setSelectedItemPosition ] = useState < number > ( 0 ) ;
99
+ const [ items , setItems ] = useState < PickerItemProps [ ] > ( propItems || extractPickerItems ( themeProps ) ) ;
100
100
101
101
useEffect ( ( ) => {
102
102
if ( propItems ) {
@@ -194,6 +194,15 @@ const Picker = React.forwardRef((props: PickerProps, ref) => {
194
194
}
195
195
} , [ fieldType , preset , themeProps . trailingAccessory ] ) ;
196
196
197
+ const renderPickerItem = useCallback ( ( item : PickerItemProps ) : React . ReactElement => {
198
+ return < PickerItem { ...item } /> ;
199
+ } , [ ] ) ;
200
+
201
+ const renderItems = useCallback ( ( items : PickerProps [ 'items' ] ) => {
202
+ return items && _ . map ( items , item => renderPickerItem ( item ) ) ;
203
+ } ,
204
+ [ renderPickerItem ] ) ;
205
+
197
206
const _renderCustomModal : ExpandableOverlayProps [ 'renderCustomOverlay' ] = ( {
198
207
visible,
199
208
closeExpandable,
@@ -205,7 +214,7 @@ const Picker = React.forwardRef((props: PickerProps, ref) => {
205
214
closeModal : closeExpandable ,
206
215
toggleModal : toggleExpandable ,
207
216
onSearchChange : _onSearchChange ,
208
- children,
217
+ children : children || renderItems ( items ) ,
209
218
// onDone is relevant to multi mode only
210
219
onDone : ( ) => onDoneSelecting ( multiDraftValue ) ,
211
220
onCancel : cancelSelect
0 commit comments