Angular 获取角度中更改事件的选定选项值
我使用Angular的反应式表单来提交表单数据。我希望能够从我的输入中访问所选的选项值,类似于我当前提交表单时所做的操作Angular 获取角度中更改事件的选定选项值,angular,select,onchange,angular-reactive-forms,option,Angular,Select,Onchange,Angular Reactive Forms,Option,我使用Angular的反应式表单来提交表单数据。我希望能够从我的输入中访问所选的选项值,类似于我当前提交表单时所做的操作 (ngSubmit)="onSubmit(searchForm.value)" 请注意过滤器阵列: 但是,当我进行选择更改时,我无法得到与event.target.value日志3:Object HTML: <div class="col-md-2" *ngFor="let filter of this.filters; index as i" formArrayN
(ngSubmit)="onSubmit(searchForm.value)"
请注意过滤器阵列:
但是,当我进行选择更改时,我无法得到与event.target.value
日志3:Object
HTML:
<div class="col-md-2" *ngFor="let filter of this.filters; index as i" formArrayName="filters" >
<div class="form-group">
<select [formControlName]="i" (change)="onSelectChange($event.target.value)" size="5" class="form-control" multiple>
<option [ngValue]="null" value="-1" disabled class="first-option-item">{{ filter.name }}</option>
<option
*ngFor="let filterValue of this.filterValues[i].items"
[ngValue]="{
filterHeader: { id: filter.id, value: filter.name },
filterSelections: { id: filterValue.id, value: filterValue.name }
}">
{{filterValue.name}}
</option>
</select>
</div>
</div>
{{filter.name}
{{filterValue.name}
我做错了什么?我建议您将所选值存储在一个额外的变量中。并在模板中使用
[(value)]
绑定,但目前我不确定这是否适用于本机select。我把这个和我的朋友一起用
{{filter.name}
{{filterValue.name}
另一个解决方案是将[(ngModel)]
与(ngModelChange)=“yourfunction”
一起使用,这可能会有所帮助
我成功地将所选选项的值添加到select元素中(ngModelChange)并为选项添加[ngValue]。也没有必要添加[(ngModel)]
{{filter.name}
{{filterValue.name}
您可以创建stackblitz吗?如果您只使用$event
获取所选值,我建议将该值直接绑定到[(ngModel)]
,这将使您的代码更具可读性。