J'ai une option de sélection en angulaire et j'ai besoin de vérifier les valeurs identiques identifiantes que ID dans la base de données, j'ai donc essayé quelque chose comme ceci: ma partie angulaire: P> <div class="col-lg-9">
<select id="applicationModuleFormSelect" name="applicationModuleFormSelect" class="form-control multiselect-select-all" multiple="multiple" data-fouc>
<option *ngFor="let amf of appModuleForms;" [value]="amf.id" [selected]="isDropdownValueSelected(amf)">{{amf.title}}</option>
</select>
</div>
5 Réponses :
Vous devez peut-être déplacer la fausse valeur à la fin du retour, car chaque instruction code> retour code> termine la fonction.
isDropdownValueSelected(amf: ApplicationModuleForm): boolean { for (let i = 0; i < this.role.applicationForms.length; i++) { if (this.role.applicationForms[i].id == amf.id) { return true; } } return false; }
Cette fonction ne fonctionne que lorsque l'identifiant du premier élément est assorti, car vous retournez la valeur sur chaque chèque.
Vous devez mettre à jour le code comme celui-ci: P>
isDropdownValueSelected(amf: ApplicationModuleForm): boolean { for (let i = 0; i < this.role.applicationForms.length; i++) { if (this.role.applicationForms[i].id == amf.id) { return true; } } return false; }
Assumer ApplicationForms CODE> est une matrice, vous pouvez utiliser la méthode Quelques :
isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
return this.role.applicationForms.some(({id}) => id === amf.id);
}
Utilisez le certains code> Opérateur au lieu de boucler sur vos éléments:
isDropdownValueSelected(amf: ApplicationModuleForm): boolean {
return this.role.applicationForms.some(e => e.id === amf.id);
}
Vous n'avez pas besoin pour code> boucle:
liée: Stackoverflow.com/Questtions/237104/...