@@ -247,6 +247,10 @@ class Autocomplete extends BaseComponent {
247247 this . search ( '' )
248248 this . _filterOptionsList ( )
249249 this . _inputElement . value = ''
250+
251+ EventHandler . trigger ( this . _element , EVENT_CHANGED , {
252+ value : this . _selected
253+ } )
250254 }
251255
252256 search ( label ) {
@@ -272,6 +276,10 @@ class Autocomplete extends BaseComponent {
272276 }
273277
274278 deselectAll ( options = this . _selected ) {
279+ if ( this . _selected . length === 0 ) {
280+ return
281+ }
282+
275283 for ( const option of options ) {
276284 if ( option . disabled ) {
277285 continue
@@ -438,14 +446,20 @@ class Autocomplete extends BaseComponent {
438446 EventHandler . on ( this . _inputElement , EVENT_KEYUP , event => {
439447 if ( event . key . length === 1 || event . key === BACKSPACE_KEY || event . key === DELETE_KEY ) {
440448 const { value } = event . target
441- this . deselectAll ( )
442449 this . search ( value )
443450 if ( this . _config . showHints ) {
444451 const options = value ?
445452 this . _flattenOptions ( ) . filter ( option => option . label . toLowerCase ( ) . startsWith ( value . toLowerCase ( ) ) ) :
446453 [ ]
447454 this . _inputHintElement . value = options . length > 0 ? `${ value } ${ options [ 0 ] . label . slice ( value . length ) } ` : ''
448455 }
456+
457+ if ( this . _selected . length > 0 ) {
458+ this . deselectAll ( )
459+ EventHandler . trigger ( this . _element , EVENT_CHANGED , {
460+ value : this . _selected
461+ } )
462+ }
449463 }
450464 } )
451465
@@ -816,9 +830,9 @@ class Autocomplete extends BaseComponent {
816830 option . setAttribute ( 'aria-selected' , false )
817831 }
818832
819- EventHandler . trigger ( this . _element , EVENT_CHANGED , {
820- value : this . _selected
821- } )
833+ // EventHandler.trigger(this._element, EVENT_CHANGED, {
834+ // value: this._selected
835+ // })
822836 }
823837
824838 _updateCleaner ( ) {
0 commit comments