Как отправить данные в выпадающий список ng-select и показать ответ как результат - PullRequest
0 голосов
/ 21 февраля 2019

Мы реализуем поиск и раскрывающийся список с помощью ng-select, и мы сталкиваемся с некоторыми проблемами при внедрении.Я пробовал несколько примеров с этим плагином, но не знаю, как реализовать эти функции

  1. Я хочу отправить данные в API, показать ответ в виде выпадающего списка.Здесь требуются следующие параметры (строка поиска, другое раскрывающееся значение)

  2. Я не вижу ни одного примера о том, как отправить данные в службу и получить в результате ответное шоу..

  3. А также при вводе текста в раскрывающемся списке после ввода трех букв отправьте его в качестве параметра вместе с некоторым другим значением в API, получите результат и покажите егокак результаты в раскрывающемся списке.POST: ({typedStr: строка, otherDropdown: значение})

  4. Я поместил этот элемент управления в угловую форму Reactive, при этом при отправке раскрывающийся список не выделяется красным цветом, какхорошо, но выделенный нативный выпадающий список выделен.

Я попытался поместить службу API вместо фиктивных данных, но она не работает.Пожалуйста, помогите в этом

https://www.npmjs.com/package/@ng-select/ng-select

getPeople(term: string = null): Observable<customerNameModel[]> {

        let items = this.getMockPeople();

        if (term) {
            items = items.filter(x => x.partnerName.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1);
        }
        return of(items);
    }

getMockPeople() {


        this.httpClient.post(this.CUSOTMERNA`enter code here`ME_API_URL, {
                    namestr:STR, 
                    typecode:typeCode
        }).pipe(map((response: any) =>   response ));

        return  [
            {
                "partnerID": "1000001",
                "partnerName": "ABC Plast",
                "customerAddress": "texsas, usa",
                "minCustFlag": "N"
            },
            {
                "partnerID": "1000003",
                "partnerName": "ABC Industries",
                "customerAddress": "nigeria, afria",
                "minCustFlag": "N"
            }       
        ]
}

  private loadCustomerName() {
    this.people3$ = concat(
        of([]), // default items
        this.people3input$.pipe(
          debounceTime(200),
          distinctUntilChanged(),          
          tap(() => this.Loading = true),
          switchMap(term => this.createInquiryService.getPeople(term).pipe(
              catchError(() => of([])), // empty list on error
              tap(() => this.Loading = false)
          )) 
        )
    );
  }

Спасибо

...