我正在for循环中生成ngl-lookup。对于每个ngl-lookup,我将有一个下拉列表,它将定义查找函数的来源。例如,如果用户从下拉值“cat”中选择,我想在ngl-lookup中显示所有猫的名字。对于列表中的第二次ngl查找,如果用户选择“dog”,则应显示狗名称。
我试图将对象id提供给查找函数,但后来我没有得到我正在进入搜索字段的查询。
此外,一旦我从建议列表中选择了一个值,我想执行其他逻辑。
关于如何使用Angular 4解决它的任何想法?
这不起作用:
<div *ngFor="let myObject of myObjects">
<ngl-lookup [lookup]="lookup(myObject.id)" [(pick)]="onPick(myObject.id, selectedValue)" debounce="0" placeholder="Search">
</ngl-lookup>
</div>
角度组件:
lookup(query: string, objectId: number): string[] {
if (!query) {
return null;
}
let myObject = this.myObjects.find(x => x.id === objectId);
return myObject.values.filter((d: string) => d.toLowerCase().indexOf(query.toLowerCase()) > -1);
}
onPick(objectId: number, selectedValue: string) {
this.myObjects.find(x => x.id === objectId).value = selectedValue;
this.performAdditionalLogic();
}
答案 0 :(得分:0)
<ngl-lookup [lookup]="lookup(myObject.id)" [(pick)]="onPick(myObject.id, selectedValue.value)" debounce="0" placeholder="Search" #selectedValue> </ngl-lookup> // try using a template reference
抱歉在手机上编辑错误