Как правильно использовать компонент автозаполнения из Angular2 MaterialDesign?

Я пытался использовать компонент автозаполнения из Angular Material2. Но у меня есть некоторые сомнения.

  1. Как загрузить данные предложений из службы HTTP и отфильтровать этот список на лету?

  2. Как получить доступ к выбранной опции (объекту) в моем компоненте?

  3. Есть ли способ отформатировать выбранный параметр с помощью HTML (многострочные значения), например, при автозаполнении PrimeNg с использованием pTemplate?

Пример: https://embed.plnkr.co/vR9QLk/


person Power Web Design    schedule 18.03.2017    source источник


Ответы (1)


Вы можете получить выбранный элемент с помощью функции, у вас есть выбранный элемент в объекте selectedOption

displayFn(state: ExampleDataMode): string {
        this.selectedOption = state;
        console.log(this.selectedOption);///displays the selected item
        return state ? state.name : '';

    }

Кроме того, вы можете обрабатывать события, которые используются для выбора элемента из раскрывающегося списка, и привязывать их к объекту как

 <md-autocomplete #auto="mdAutocomplete" [displayWith]="displayFn">
      <md-option *ngFor="let state of filteredStates | async" [value]="state" (click)="selectedItem=state">
      {{ state.name }}
      </md-option>
    </md-autocomplete>

и у вас будет выбранный элемент в вашем объекте selectedItem.

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

РЕАЛЬНАЯ ДЕМО

person Aravind    schedule 18.03.2017
comment
я пытаюсь загрузить значения автозаполнения с сервера перед получением его выполнения функции displaywith есть ли способ загрузить функцию после получения - person Vignesh; 13.06.2017
comment
как проверить... ввел ли пользователь значения из панели автозаполнения, а не случайные слова - person radio_head; 13.07.2017
comment
Случайными словами, что ты имеешь в виду @Danny - person Aravind; 13.07.2017
comment
как пользователь, вводящий «rwerwq» для автозаполнения списка состояний - person radio_head; 17.07.2017