Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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