【发布时间】:2019-03-07 12:56:32
【问题描述】:
有谁知道如何根据选择元素值显示额外的输入字段并将值推送到现有对象中?
有一个带有change指令的下拉选择元素
<div class="col-sm-4">
<select class="form-control mt-2" id="field_countries" name="country" #t formControlName="country" (change)="countryChanged(t.value)">
<option [value]="country.name" *ngFor="let country of countries"> {{ country.name }} </option>
</select
</div>
和countryChanged 事件
countryChanged(value) {
this.selectedCountry = value;
console.log(this.selectedCountry);
}
所以我正在尝试根据所选值添加新的输入字段:
<div class="col-sm-4" *ngIf="selectedCountry == 'Mexico'">
<input type="text" class="form-control" name="remark" formControlName="remark" maxlength="200" />
</div>
但我不知道如何显示输入字段并仅为选择值的对象推送值,因此结果将是
相当于[{person: 'John', country: 'USA'}, {person: 'Pablo', country: 'Mexico', remark: 'Some data'}, {person: 'Michelle', country: 'France'}]
【问题讨论】:
-
好吧,如果每个人和每个国家的值都相同...我认为您应该使用外部表格。这样,控制备注字段的功能将仅在右侧行中起作用。
-
您可能只想使用
+或~选择器通过 CSS 显示/隐藏备注字段。
标签: angular typescript angular-forms formarray angular-formbuilder