我正在使用下拉列表,因为如果我选择冰箱,另一个下拉列表将出现,对于两个下拉列表im使用相同的formcontrolname name,以便将值传递到具有相同标题的后端,但由于在选择第二个下拉列表的值后使用相同的表单控件名称,因此它正在消失。我们如何解决这个问题,如何从两个不同的下拉列表中传递具有相同标头的值。
html
<mat-form-field fxFlex="28%" class="searchForm" >
<mat-label>Entity Name</mat-label>
<mat-select class="form-control" formControlName="entityName" id="entityName">
<mat-option *ngFor="let entityName of entityNames" [value]="entityName.value">
{{entityName.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field fxFlex="28%" class="searchForm"*ngIf="auditForm.get('entityName').value=='freezer'" >
<mat-label>Storage</mat-label>
<mat-select class="form-control" formControlName="entityName" id="entityName">
<mat-option *ngFor="let freezer of freezers" [value]="freezer.value">
{{freezer.viewValue}}
</mat-option>
</mat-select>
</mat-form-field>
ts
public entityNames:any=[
{viewValue: 'User', value: 'User'},
{viewValue: 'Receivable',value: 'Receivable'},
{viewValue: 'Location',value: 'Location'},
{viewValue: 'Item', value: 'Item'},
{viewValue: 'Freezer', value:'freezer'},
{viewValue: 'Refrigerator', value:'refrigerator'},
{viewValue: 'Incubator', value:'incubator'},
{viewValue: 'Open Storage', value:'open_storage'},
];
public freezers:any=[
{viewValue: ' Rack', value:'freezer_rack'},
{viewValue: ' Row', value:'freezer_row'},
{viewValue: ' Section', value:'freezer_section'},
{viewValue: ' Shelf', value:'freezer_shelf'},
{viewValue: ' Slot', value:'freezer_slot'},
];
this.auditForm = this.fb.group({
entityName:[''],
})
我需要通过两个下拉框将值传递给entityName,我们如何传递该值?
发布于 2020-06-15 07:23:55
不能在两个输入中使用相同的formControlName。
重新思考你的代码。您可以使用辅助formControl -and、formControl="mynewControl"-或ngModel
<input [ngModel]="form.get('entityName').value"
(ngModelChange)="form.get('entityName').setValue($event)
[ngModelOptions]="{standalone:true}">
https://stackoverflow.com/questions/62383093
复制