Skip to content

Commit d88e021

Browse files
crisbetojosephperrott
authored andcommitted
fix(select): reset option being marked as selected (#11934)
1 parent 742c226 commit d88e021

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/lib/select/select.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2580,6 +2580,18 @@ describe('MatSelect', () => {
25802580
expect(trigger.textContent).not.toContain('None');
25812581
}));
25822582

2583+
it('should not mark the reset option as selected ', fakeAsync(() => {
2584+
options[5].click();
2585+
fixture.detectChanges();
2586+
flush();
2587+
2588+
fixture.componentInstance.select.open();
2589+
fixture.detectChanges();
2590+
flush();
2591+
2592+
expect(options[5].classList).not.toContain('mat-selected');
2593+
}));
2594+
25832595
it('should not reset when any other falsy option is selected', fakeAsync(() => {
25842596
options[3].click();
25852597
fixture.detectChanges();

src/lib/select/select.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@ export class MatSelect extends _MatSelectMixinBase implements AfterContentInit,
881881
const wasSelected = this._selectionModel.isSelected(option);
882882

883883
if (option.value == null && !this._multiple) {
884+
option.deselect();
884885
this._selectionModel.clear();
885886
this._propagateChanges(option.value);
886887
} else {

0 commit comments

Comments
 (0)