如何找出点击哪个ngl-lookup?

时间:2017-08-21 14:49:09

标签: angular ng-lightning

我正在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();

}

1 个答案:

答案 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

抱歉在手机上编辑错误