@@ -294,8 +294,10 @@ export default function generateSelector<
294
294
// labelInValue
295
295
const mergedLabelInValue = mode === 'combobox' ? false : labelInValue ;
296
296
297
+ const isMultiple = mode === 'tags' || mode === 'multiple' ;
298
+
297
299
const mergedShowSearch =
298
- showSearch !== undefined ? showSearch : mode === 'tags' || mode === 'combobox' ;
300
+ showSearch !== undefined ? showSearch : isMultiple || mode === 'combobox' ;
299
301
300
302
// ============================== Ref ===============================
301
303
React . useImperativeHandle ( ref , ( ) => ( {
@@ -403,8 +405,6 @@ export default function generateSelector<
403
405
[ baseValue , mergedOptions ] ,
404
406
) ;
405
407
406
- const isMultiple = mode === 'tags' || mode === 'multiple' ;
407
-
408
408
const triggerSelect = ( newValue : RawValueType , isSelect : boolean ) => {
409
409
const selectValue = ( mergedLabelInValue
410
410
? getLabeledValue ( newValue , {
@@ -650,10 +650,15 @@ export default function generateSelector<
650
650
return ;
651
651
}
652
652
653
- // `tags` mode should move `searchValue` into values
654
- if ( mode === 'tags' && mergedSearchValue ) {
655
- triggerSearch ( '' , false ) ;
656
- triggerChange ( Array . from ( new Set ( [ ...mergedRawValue , mergedSearchValue ] ) ) ) ;
653
+ if ( mergedSearchValue ) {
654
+ // `tags` mode should move `searchValue` into values
655
+ if ( mode === 'tags' ) {
656
+ triggerSearch ( '' , false ) ;
657
+ triggerChange ( Array . from ( new Set ( [ ...mergedRawValue , mergedSearchValue ] ) ) ) ;
658
+ } else if ( mode === 'multiple' ) {
659
+ // `multiple` mode only clean the search value but not trigger event
660
+ setInnerSearchValue ( '' ) ;
661
+ }
657
662
}
658
663
659
664
if ( onBlur ) {
0 commit comments