mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
fix(checkbox): Fix native checked is not true when MdCheckbox initial checked value is true (#2055)
* Fix checked is not true when MdCheckbox initial checked value is true * Add test * fix lint
This commit is contained in:
@@ -100,6 +100,15 @@ describe('MdCheckbox', () => {
|
||||
expect(inputElement.indeterminate).toBe(false);
|
||||
});
|
||||
|
||||
it('should change native element checked when check programmatically', () => {
|
||||
expect(inputElement.checked).toBe(false);
|
||||
|
||||
checkboxInstance.checked = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(inputElement.checked).toBe(true);
|
||||
});
|
||||
|
||||
it('should toggle checked state on click', () => {
|
||||
expect(checkboxInstance.checked).toBe(false);
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
ChangeDetectorRef,
|
||||
ChangeDetectionStrategy,
|
||||
Component,
|
||||
ElementRef,
|
||||
@@ -156,7 +157,9 @@ export class MdCheckbox implements ControlValueAccessor {
|
||||
|
||||
hasFocus: boolean = false;
|
||||
|
||||
constructor(private _renderer: Renderer, private _elementRef: ElementRef) {
|
||||
constructor(private _renderer: Renderer,
|
||||
private _elementRef: ElementRef,
|
||||
private _changeDetectorRef: ChangeDetectorRef) {
|
||||
this.color = 'accent';
|
||||
}
|
||||
|
||||
@@ -174,6 +177,7 @@ export class MdCheckbox implements ControlValueAccessor {
|
||||
this._checked = checked;
|
||||
this._transitionCheckState(
|
||||
this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);
|
||||
this._changeDetectorRef.markForCheck();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user