ciao!
questa la mia interface:
codice:
import {PrCategoria} from './pr-categoria';
import {PrSubCategoria} from './pr-sub-categoria';
export interface Prodotto {
pr_id?: number;
pr_alias?: string;
pr_nome?: string;
pr_ingredienti?: string;
pr_allergeni?: string;
pr_descrizione?: string;
pr_note?: string;
pr_cancellato?: number;
pr_data_aggiunta?: string | Date;
pr_data_scadenza?: string | Date;
pr_categorie?: PrCategoria[];
pr_sub_categorie?: PrSubCategoria[];
}
come vedete devo inviare gli ultimi due valori come un array.
in sostanza devo dare la possibilità all'utente di aggiungere più righe nella pagina con le seguenti dropdown:
codice:
<div class="p-field p-col-12 p-md-6" formGroupName="pr_categorie">
<label>Categorie</label>
<p-dropdown #catPr [options]="prCategorie" formControlName="prc_id"
optionLabel="prc_nome" optionValue="prc_id" [showClear]="true" [filter]="true"
filterBy="prc_nome" placeholder="Seleziona categoria"
(onChange)="onCatChange($event, catPr)"></p-dropdown>
</div>
<div class="p-field p-col-12 p-md-6" formGroupName="pr_sub_categorie">
<label>Sub categorie</label>
<p-dropdown [options]="prSubCategore" formControlName="prs_id"
optionLabel="prs_nome" optionValue="prs_id" [showClear]="true" [filter]="true"
filterBy="prs_nome" placeholder="Seleziona sub categoria"></p-dropdown>
</div>
<div class="p-field p-col-12 p-md-6" formGroupName="pr_categorie">
<label>Categorie</label>
<p-dropdown #catPr [options]="prCategorie" formControlName="prc_id"
optionLabel="prc_nome" optionValue="prc_id" [showClear]="true" [filter]="true"
filterBy="prc_nome" placeholder="Seleziona categoria"
(onChange)="onCatChange($event, catPr)"></p-dropdown>
</div>
<div class="p-field p-col-12 p-md-6" formGroupName="pr_sub_categorie">
<label>Sub categorie</label>
<p-dropdown [options]="prSubCategore" formControlName="prs_id"
optionLabel="prs_nome" optionValue="prs_id" [showClear]="true" [filter]="true"
filterBy="prs_nome" placeholder="Seleziona sub categoria"></p-dropdown>
</div>
e questo il formgroup:
codice:
creaForm(): void {
this.frmProdotto = new FormGroup({
pr_id: new FormControl(0),
pr_nome: new FormControl('', Validators.required),
pr_ingredienti: new FormControl('', Validators.required),
pr_allergeni: new FormControl('', Validators.required),
pr_descrizione: new FormControl('', Validators.required),
pr_note: new FormControl(''),
pr_categorie: new FormGroup({
prc_id: new FormControl('', Validators.required)
}),
pr_sub_categorie: new FormGroup({
prs_id: new FormControl('', Validators.required)
})
});
}
come faccio a prendere le varie dropdown selezionate e mandarle come array??