From c276e2636b120ef8f7b3d70d48ca5e3bd90cd141 Mon Sep 17 00:00:00 2001 From: tinayuangao Date: Thu, 21 Jun 2018 17:54:51 -0700 Subject: [PATCH] fix(button-toggle): emit change event when button is clicked (#11886) --- src/lib/button-toggle/button-toggle.spec.ts | 5 ++--- src/lib/button-toggle/button-toggle.ts | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/button-toggle/button-toggle.spec.ts b/src/lib/button-toggle/button-toggle.spec.ts index 76c025410f6..b2f20037786 100644 --- a/src/lib/button-toggle/button-toggle.spec.ts +++ b/src/lib/button-toggle/button-toggle.spec.ts @@ -345,9 +345,8 @@ describe('MatButtonToggle without forms', () => { fixture.detectChanges(); tick(); - // The default browser behavior is to not emit a change event, when the value was set - // to false. That's because the current input type is set to `radio` - expect(changeSpy).toHaveBeenCalledTimes(1); + // Always emit change event when button toggle is clicked + expect(changeSpy).toHaveBeenCalledTimes(2); })); it('should emit a change event from the button toggle group', fakeAsync(() => { diff --git a/src/lib/button-toggle/button-toggle.ts b/src/lib/button-toggle/button-toggle.ts index b1b4ab0f097..1d3f5adaa78 100644 --- a/src/lib/button-toggle/button-toggle.ts +++ b/src/lib/button-toggle/button-toggle.ts @@ -447,10 +447,9 @@ export class MatButtonToggle extends _MatButtonToggleMixinBase implements OnInit this.buttonToggleGroup._syncButtonToggle(this, this._checked, true); this.buttonToggleGroup._onTouched(); } - - // Emit a change event when the native button does. - this.change.emit(new MatButtonToggleChange(this, this.value)); } + // Emit a change event when it's the single selector + this.change.emit(new MatButtonToggleChange(this, this.value)); } /**