我有一个搜索字段,用于过滤多选框中的列表,当我使用模板表单时,管道工作。但我改为反应形式,我找不到如何获得价值
<modal-content [formGroup]="prodForm">
<input type="text" id="make" class="form-control search"
placeholder="Make" formControlName="make"/>
<input type="text" id="model" class="form-control search"
placeholder="Model" formControlName="model" />
<input type="text" id="fromModelYear" class="form-control search"
placeholder="From Model Year" formControlName="fromModelyear"/>
<input type="text" id="toModelYear" class="form-control search"
placeholder="To Model Year" formControlName="toModelyear"/>
<select id="selProduct" multiple formControlName="selProduct"
class="form-control">
<option *ngFor="let product of productsList|searchMake:
make|searchModel:model|searchFromYear:fromModelyear|
searchToYear:toModelyear" [value]="product" >
{{product.makeModelModelYr}}
</option>
</select>
</modal-content>
我需要从输入字段中获取值以用于我尝试过的管道
<input type="text" id="model" class="form-control search"
placeholder="Model" formControlName="model" [value]="modeltxt"/>
然后在管道中使用modeltxt
在管道中使用 modeltxt.value
如果我在管道中有代码文本,管道工作我也尝试过
ngOnInit() {
this.prodForm.valueChanges.subscribe(v => this.modelValue = v.model);
}
然后在管道中使用 {{modelValue}} 该代码适用于模板表单我只需要知道如何格式化并获取将其插入管道的值
这是管道之一
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'searchModel'
})
export class SearchModelPipe implements PipeTransform {
transform(product: any, model: any): any {
//check if search term is undefined
if (model === undefined) return product;
//return updates people array
return product.filter(function(thisproduct) {
return thisproduct.model.toLowerCase().includes(model.toLowerCase());
})
}
}