Как мы можем передать динамический параметр в ngbtypeahead - PullRequest
0 голосов
/ 17 мая 2019

Я использую ngbtypeahead для получения списка в Angular 6. Я хочу отобразить список на основе некоторых критериев, выбранных в предыдущем текстовом поле

Например.

<input type="text" class="form-control form-control-sm" 
    id="_state" name="_state" placeholder="State"
      [(ngModel)]="_stateLookup" required 
      [ngbTypeahead]="lookup.search('State', {})" 
      [inputFormatter]="lookup.formatter" [resultTemplate]="rt"
      (blur)="lookup.fillData(form, _stateLookup, '_stateCode', '_stateName')">


<input type="text" class="form-control form-control-sm" 
    id="_cityCode" name="_cityCode" placeholder="City"
      [(ngModel)]="_cityLookup" required 
      [ngbTypeahead]="lookup.search('City', {'_state': form._stateCode })" 
      [inputFormatter]="lookup.formatter" [resultTemplate]="rt"
      (blur)="lookup.fillData(form, _cityLookup, '_cityCode', '_cityName')">

Мой файл lookup.service.ts имеет функцию ниже

public search(type, searchParams:any) {
        let searchObservable = (text$: Observable<string>) =>
        text$.pipe(
          debounceTime(300),
          distinctUntilChanged(),
          switchMap(term =>
            this.getLookup(type, term, searchParams).pipe(
              catchError(() => {
                return of([]);
              }))
          ),
          map(data => this.handleData(data))
        )

        return searchObservable;

      }


    getLookup(lookupType, term, searchParams) {
        var lookupURL = "";
        searchParams.search = term;

        if(lookupType == 'State') { lookupURL = 'master/lookup/getstatelookup'; }
        if(lookupType == 'City') { lookupURL = 'master/lookup/getcitylookup'; }
        if(searchParams.search != undefined && searchParams.search.length >= this.strLen) 
        {
          console.log(searchParams);
          return this.core.post(lookupURL, searchParams);
        } else {
          return of([]);
        }
      }

Здесь я передаю _stateCode в качестве параметра в поиске. Тем не менее, он показывает ноль вместо того, что выбрано в State Lookup.

Как я могу получить Город с соответствующим состоянием, выбранным в текстовом поле Штат? NgbTypeahead передает нулевое значение (которое является начальным значением) при вызове

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...