Не удается сохранить результаты [ngbTypeahead] в [resultTemplate] - PullRequest
0 голосов
/ 15 сентября 2018

Я реализую ngbTypeahead в моем HTML с помощью следующего кода

<ng-template #rt let-r="result" let-t="term">
    <ngb-highlight [result]="r.FirstName" [term]="t"></ngb-highlight>
</ng-template>

<input name="primaryOwner"
       type="text"
       class="form-control pl-2"
       [(ngModel)]="employee"
       [ngbTypeahead]="search"
       [resultTemplate]="rt" />

Это функция поиска

search = (text$: Observable<string>) => {
    return text$.pipe(
        debounceTime(200),
        distinctUntilChanged(),
        map(term => {
            if (term.length < 2) {
                return [];
            } else {
                this.myApiCall.employeeSearch(term)
                    .then(response => {
                        if (response.Success) {
                                return response.Employees;
                            });
                        } else {
                            return [];
                        }
                    });
            }
        })
    );
};

Это пример того, какой массив я возвращаю через функцию map.

[
    {FirstName: "Silvana", LastName: "Joye", IdentificationNumber: "018377", EmailAddress: "Silvana.Joye@company.com"},
    {FirstName: "Diarmuid", LastName: "Jochbed", IdentificationNumber: "692543", EmailAddress: "Diarmuid.Jochbed@company.com"},
    {FirstName: "Jopa", LastName: "Epp", IdentificationNumber: "913960", EmailAddress: "Jopa.Epp@company.com"}
]

Насколько я могу судить, я думаю, что я следую документам к письму здесь, но я не могу получить окно результатов для всплывающих окон, и я не уверен, где я иду не так.

Это версии технологий, которые я использую.

"rxjs": "^6.0.0",
"@angular/core": "^6.0.3",
"@ng-bootstrap/ng-bootstrap": "^3.2.0",
"bootstrap": "4.0.0",
"typescript": "~2.7.2"

1 Ответ

0 голосов
/ 15 сентября 2018

Это может быть потому, что вы не ставите return перед вызовом API.

else {
        return this.myApiCall.employeeSearch(term)
.....
...