J'ai réussi à lier une Select list à mon modèle pour l'enregistrer, mais je n'arrive pas à trouver comment faire pour qu'Angular2 sélectionne automatiquement la bonne option sur la Select list si je fournis une fonctionnalité d'édition. En d'autres termes, si je modifie un objet préexistant via un formulaire, j'ai besoin que la liste Select reflète l'état initial de l'objet (par exemple l'option 5 dans la liste Select), plutôt que de sélectionner par défaut le premier élément.
<select [ngModel]="originalObject">
<option *ngFor="let object of objects" [ngValue]="object">{{object.name}}</option>
</select>
Comment j'imagine que cela devrait fonctionner, mais ce n'est pas le cas !
<select [ngModel]="originalObject">
<option *ngFor="let object of objects" [ngValue]="object" [selected]="object === originalObject">{{object.name}}</option>
</select>
J'essaie donc d'utiliser la propriété "selected" de l'option, mais pour une raison quelconque, cela ne fait rien. Le "selectedObject" dans ce cas serait un objet dans le composant qu'il peut lire.
1 votes
En
selected
est remplacée par la propriétéoriginalObject
.ngValue
ne fonctionne qu'avecngModel
. SansngValue
vous ne pouvez utiliser que des valeurs de type chaîne de caractères, et non des objets avec<option>
. C'est pourquoi je pense qu'il est préférable de se débarrasser de[selected]=...
0 votes
Pour l'instant, je n'utilise pas le
[selected]=..
C'est ainsi que j'ai pensé que cela devait fonctionner. Ce n'est pas le cas pour le moment, mais il ne sélectionne pas la bonne option au chargement.