我如何将整个对象从NGFOR传递给组件控制器



我有一个我使用Select选项的表单。此组件是添加作业,您可以选择一个包含客户端名称,地址,电话和传真的客户端(您可以从"客户端"页面添加这些客户),也可以手动将其添加到特定作业中。

列表中的客户端时,您可以选择客户端,它将自动填充客户端电话,传真和地址,但我不知道如何将整个客户从NGFOR传递给控制器。到目前为止,我尝试的是将选项放入ngmodel,然后在选择更改中找到等于NGModel值的数组中的正确客户端,但我确定有更好的方法可以做到吗?

<select *ngIf="!manualClient" name="clientName" (change)="fillClientValues()" id="clientNameSelect" formControlName="clientName" class="form-control">
    <option *ngFor="let client of allClients" [(ngModel)]="selectedClient" value="{{client.name}}">{{client.name}}</option>
</select>

如果我可以通过NGFOR通过客户端,那将容易得多。

您有两个选项:

1。

<select *ngIf="!manualClient" name="clientName" (change)="fillClientValues();onClick($event)" id="clientNameSelect" formControlName="clientName" class="form-control">
    <option *ngFor="let client of allClients; let i = index;" value="i">{{client.name}}</option>
</select>

2。

<select *ngIf="!manualClient" name="clientName" (change)="fillClientValues($event)" id="clientNameSelect" formControlName="clientName" class="form-control">
    <option *ngFor="let client of allClients; let i = index;" value="i">{{client.name}}</option>
</select>

在事件对象中,您可以提取索引。我建议第二种选择更好。根据我的经验,从模板调用功能很昂贵。

欢呼

最新更新