Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix(select): handle async changes to the option label #9159

Merged
merged 1 commit into from
Jan 24, 2018

Conversation

crisbeto
Copy link
Member

Currently mat-select doesn't react to changes in the label of its options, which is problematic, because the option label might be populated at a later point by a pipe or it might have changed while the select is closed. These changes add a Subject to the MatOption that will emit whenever the label changes and allows the select to react accordingly.

Fixes #7923.

@crisbeto crisbeto requested a review from kara as a code owner December 29, 2017 10:56
@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Dec 29, 2017
private _selected = false;
private _active = false;
private _disabled = false;
private _id = `mat-option-${_uniqueIdCounter++}`;
private _oldViewValue = '';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_mostRecentViewValue?

}
});

merge(...this.options.map(option => option._stateChanges))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a comment here that explains what this is for?

@crisbeto crisbeto force-pushed the 7923/select-view-value-change branch from 8e9cc0e to d35278b Compare January 12, 2018 20:11
@crisbeto
Copy link
Member Author

Addressed the feedback @jelbourn.

Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jelbourn jelbourn added pr: lgtm action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release and removed pr: needs review labels Jan 12, 2018
@jelbourn
Copy link
Member

@crisbeto passes presubmit, just needs rebase

Currently `mat-select` doesn't react to changes in the label of its options, which is problematic, because the option label might be populated at a later point by a pipe or it might have changed while the select is closed. These changes add a `Subject` to the `MatOption` that will emit whenever the label changes and allows the select to react accordingly.

Fixes angular#7923.
@crisbeto crisbeto force-pushed the 7923/select-view-value-change branch from d35278b to c46cd33 Compare January 23, 2018 18:01
@crisbeto
Copy link
Member Author

Rebased.

@jelbourn jelbourn merged commit 245caae into angular:master Jan 24, 2018
jelbourn pushed a commit to jelbourn/components that referenced this pull request Jan 29, 2018
Currently `mat-select` doesn't react to changes in the label of its options, which is problematic, because the option label might be populated at a later point by a pipe or it might have changed while the select is closed. These changes add a `Subject` to the `MatOption` that will emit whenever the label changes and allows the select to react accordingly.

Fixes angular#7923.
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 8, 2019
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

mat-select not pre selecting a value when mat-option has async content
3 participants