@@ -371,7 +371,7 @@ export default function generateSelector<
371371 React . useImperativeHandle ( ref , ( ) => ( {
372372 focus : selectorRef . current . focus ,
373373 blur : selectorRef . current . blur ,
374- scrollTo : listRef . current ?. scrollTo ,
374+ scrollTo : listRef . current ?. scrollTo as ScrollTo ,
375375 } ) ) ;
376376
377377 // ============================= Value ==============================
@@ -380,7 +380,9 @@ export default function generateSelector<
380380 } ) ;
381381
382382 /** Unique raw values */
383- const mergedRawValue = useMemo < RawValueType [ ] > (
383+ const [ mergedRawValue , mergedValueMap ] = useMemo <
384+ [ RawValueType [ ] , Map < RawValueType , LabelValueType > ]
385+ > (
384386 ( ) =>
385387 toInnerValue ( mergedValue , {
386388 labelInValue : mergedLabelInValue ,
@@ -431,7 +433,7 @@ export default function generateSelector<
431433 [ mergedOptions ] ,
432434 ) ;
433435
434- const getValueOption = useCacheOptions ( mergedRawValue , mergedFlattenOptions ) ;
436+ const getValueOption = useCacheOptions ( mergedFlattenOptions ) ;
435437
436438 // Display options for OptionList
437439 const displayOptions = useMemo < OptionsType > ( ( ) => {
@@ -476,7 +478,7 @@ export default function generateSelector<
476478 const valueOptions = getValueOption ( [ val ] ) ;
477479 const displayValue = getLabeledValue ( val , {
478480 options : valueOptions ,
479- prevValue : mergedValue ,
481+ prevValueMap : mergedValueMap ,
480482 labelInValue : mergedLabelInValue ,
481483 optionLabelProp : mergedOptionLabelProp ,
482484 } ) ;
@@ -511,7 +513,7 @@ export default function generateSelector<
511513 const selectValue = ( mergedLabelInValue
512514 ? getLabeledValue ( newValue , {
513515 options : newValueOption ,
514- prevValue : mergedValue ,
516+ prevValueMap : mergedValueMap ,
515517 labelInValue : mergedLabelInValue ,
516518 optionLabelProp : mergedOptionLabelProp ,
517519 } )
@@ -546,7 +548,7 @@ export default function generateSelector<
546548 labelInValue : mergedLabelInValue ,
547549 options : newRawValuesOptions ,
548550 getLabeledValue,
549- prevValue : mergedValue ,
551+ prevValueMap : mergedValueMap ,
550552 optionLabelProp : mergedOptionLabelProp ,
551553 } ) ;
552554
0 commit comments