Reputation: 1005
I have an observable, fields$: Observable<Field[]>
. I need to look at the required
and result
properties of each field to determine if all required fields have been populated.
I have another observable, missingRequiredResults$: Observable<boolean>
, that I'm using to enable/disable a button via <button type="button" [disabled]="(missingRequiredResults$ | async)">
Here is the method I'm using to set missingRequiredResults$
:
private validateRequiredResults() {
this.missingRequiredResults$ = this.fields$.pipe(
map(fields =>
fields.filter(field => {
field.required == true && (field.result == null || field.result == '')
}).length != 0
)
);
}
No matter what I do, missingRequiredResults$
holds a value of false
.
What am I doing wrong?
Upvotes: 0
Views: 514
Reputation: 3496
You're code is missing the return statement in the curly brackets
private validateRequiredResults() {
this.missingRequiredResults$ = this.fields$.pipe(
map(fields =>
fields.filter(field => {
return field.required == true && (field.result == null || field.result == '') //add the return statement here
}).length != 0
)
);
}
As you pointed out, you removed the curly brackets and it worked.
Upvotes: 1