@@ -4,6 +4,7 @@ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
44import { isShow , isDown , isBackSpace } from "@ui5/webcomponents-base/dist/events/PseudoEvents.js" ;
55import "./icons/slim-arrow-down.js" ;
66import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js" ;
7+ import { isIE } from "@ui5/webcomponents-core/dist/sap/ui/Device.js" ;
78import MultiComboBoxTemplate from "./generated/templates/MultiComboBoxTemplate.lit.js" ;
89import Tokenizer from "./Tokenizer.js" ;
910import Token from "./Token.js" ;
@@ -277,7 +278,20 @@ class MultiComboBox extends UI5Element {
277278 const filteredItems = this . _filterItems ( value ) ;
278279 const oldValueState = this . valueState ;
279280
281+ /* skip calling change event when an input with a placeholder is focused on IE
282+ - value of the host and the internal input should be differnt in case of actual input
283+ - input is called when a key is pressed => keyup should not be called yet
284+ */
285+ const skipFiring = ( this . _inputDom . value === this . value ) && isIE && ! this . _keyDown && ! ! this . placeholder ;
286+
287+ if ( skipFiring ) {
288+ event . preventDefault ( ) ;
289+
290+ return ;
291+ }
292+
280293 if ( this . _validationTimeout ) {
294+ input . value = this . _inputLastValue ;
281295 return ;
282296 }
283297
@@ -289,6 +303,7 @@ class MultiComboBox extends UI5Element {
289303 this . valueState = oldValueState ;
290304 this . _validationTimeout = null ;
291305 } , 2000 ) ;
306+
292307 return ;
293308 }
294309
@@ -330,7 +345,11 @@ class MultiComboBox extends UI5Element {
330345 }
331346 }
332347
333- _keydown ( event ) {
348+ _onkeyup ( ) {
349+ this . _keyDown = false ;
350+ }
351+
352+ _onkeydown ( event ) {
334353 if ( isShow ( event ) && ! this . readonly && ! this . disabled ) {
335354 event . preventDefault ( ) ;
336355 this . _togglePopover ( ) ;
@@ -355,6 +374,8 @@ class MultiComboBox extends UI5Element {
355374 this . _tokenizer . tokens [ lastTokenIndex ] . focus ( ) ;
356375 this . _tokenizer . _itemNav . currentIndex = lastTokenIndex ;
357376 }
377+
378+ this . _keyDown = true ;
358379 }
359380
360381 _filterItems ( value ) {
0 commit comments