【发布时间】:2019-06-16 20:29:41
【问题描述】:
我有一个带有 (prime-ng) 自动完成控件的 Angular(6) 反应形式。我正在设法用(街道的)值正确填充它,但是在尝试将 streetID(而不是街道名称)绑定到表单控件时我遗漏了一些东西。 我尝试使用 value 属性,但它仍然没有修复它。 查看我的 Html 代码:
<div class="form-group">
<label>Street
<p-autoComplete formControlName="StreetID" [dropdown]="true" [suggestions]="autoCompleteStreetsNames" (completeMethod)="searchStreet($event)" [disabled]=!frm.value.CityID value = "autoCompleteStreetsValues" [mcFieldValidation]="frm.controls.StreetID"></p-autoComplete>
</label>
</div>
这是带有变量声明的完整方法:
autoCompleteStreets : Map<number, string> = new Map();
autoCompleteStreetsNames : string[];
autoCompleteStreetsValues : number[];
searchStreet(event) : void{
this.autoCompleteStreetsValues = [];
if (event.query == '')
{
this.generalService.GetStreetsListByCity(this.frm.value.CityID).subscribe(items =>this.populateAutoCompleteStreets(items));
}
else
{
this.generalService.GetCityListByPrefix(this.frm.value.CityID, event.query).subscribe(items => this.populateAutoCompleteStreets(items));
}
}
populateAutoCompleteStreets(lutItems : UnifiedLut[])
{
this.autoCompleteStreetsNames = lutItems.map(item => item.Value);
this.autoCompleteStreetsValues = lutItems.map(item => item.Code);
lutItems.map(lutItem => this.autoCompleteStreets.set(lutItem.Code,
lutItem.Value));
}
【问题讨论】:
标签: angular autocomplete primeng angular-reactive-forms