angular / angular/components

mat-selection-list list-options is not updated when formControl for mat-selection-list is updated with setValue

Ouverte
#15,477 3 commentaires 10 réactions 0 personnes assignées Voir sur GitHub
area: material/list P3
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
91

Description

#### What is the expected behavior?
Checkboxes should update

#### What is the current behavior?
Checkboxes do not update.

#### What are the steps to reproduce?
**editor.componenet.html**
```html

{{ role.attributes.name }}

```

**editor.component.ts (onInit)**
```javascript
this.form = this.fb.group({
role: [[...this.user.attributes.role], Validators.required],
});
```

`this.user.attributes.role` is an array of string.

**I tried**
**editor.component.ts**
```javascript
ngAfterContentInit() {
this.form.patchValue({
'role': [...this.user.attributes.role]
});
}
```

**I also tried**
**editor.component.ts**
```javascript
ngAfterContentInit() {
setTimeout(() => {
this.form.patchValue({
'role': [...this.user.attributes.role]
});
console.log(this.form.value.role);
}, 1000);
}
```

Note that I'm getting `roles` with an observable :
**editor.component.ts**
```javascript
combineLatest(
// Others observables ...
this.jsonApi.all('roles').pipe(map(document => document.data)),
).subscribe(([firms, langs, roles]) => {
// Others observables ...
this.roles = roles;
});
```

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 7.x.x
Material 7.x.x

#### Is there anything else we should know?
I know there's a [ticket](https://github.com/angular/material2/issues/9085) about this, but it's closed and no one replies

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le problème à l’aide de editor.component.html et editor.component.ts avec une Angular 7 mat-selection-list, des rôles asynchrones et formControl setValue ou patchValue. Commencez par suivre la propagation des valeurs de mat-selection-list et mat-list-option ; le travail est terminé lorsque les cases à cocher reflètent le tableau de chaînes mis à jour après la mise à jour du formulaire.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.