@@ -294,8 +294,10 @@ export default function generateSelector<
294294 // labelInValue
295295 const mergedLabelInValue = mode === 'combobox' ? false : labelInValue ;
296296
297+ const isMultiple = mode === 'tags' || mode === 'multiple' ;
298+
297299 const mergedShowSearch =
298- showSearch !== undefined ? showSearch : mode === 'tags' || mode === 'combobox' ;
300+ showSearch !== undefined ? showSearch : isMultiple || mode === 'combobox' ;
299301
300302 // ============================== Ref ===============================
301303 React . useImperativeHandle ( ref , ( ) => ( {
@@ -403,8 +405,6 @@ export default function generateSelector<
403405 [ baseValue , mergedOptions ] ,
404406 ) ;
405407
406- const isMultiple = mode === 'tags' || mode === 'multiple' ;
407-
408408 const triggerSelect = ( newValue : RawValueType , isSelect : boolean ) => {
409409 const selectValue = ( mergedLabelInValue
410410 ? getLabeledValue ( newValue , {
@@ -650,10 +650,15 @@ export default function generateSelector<
650650 return ;
651651 }
652652
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+ }
657662 }
658663
659664 if ( onBlur ) {
0 commit comments