diff --git a/src/lib/select/select.spec.ts b/src/lib/select/select.spec.ts index 57e9d54b2cef..8a8bb96260df 100644 --- a/src/lib/select/select.spec.ts +++ b/src/lib/select/select.spec.ts @@ -2336,6 +2336,14 @@ describe('MatSelect', () => { expect(fixture.componentInstance.changeListener).toHaveBeenCalledTimes(1); }); + + it('should only emit one event when pressing the arrow keys on a closed select', () => { + const select = fixture.debugElement.query(By.css('md-select')).nativeElement; + dispatchKeyboardEvent(select, 'keydown', DOWN_ARROW); + + expect(fixture.componentInstance.changeListener).toHaveBeenCalledTimes(1); + }); + }); describe('floatPlaceholder option', () => { diff --git a/src/lib/select/select.ts b/src/lib/select/select.ts index 634617007a51..8a5f3d46259d 100644 --- a/src/lib/select/select.ts +++ b/src/lib/select/select.ts @@ -1135,7 +1135,6 @@ export class MatSelect extends _MatSelectMixinBase implements AfterContentInit, if (currentActiveItem !== prevActiveItem) { this._clearSelection(); this._setSelectionByValue(currentActiveItem.value, true); - this._propagateChanges(); } } }