Установить автозаполнение текста текстового поля программно с Angular Material - PullRequest
0 голосов
/ 09 февраля 2019

Я использую Angular Material для создания формы.Для некоторых полей пользователь должен получить функцию автозаполнения.Эти поля также должны быть заполнены из бэкэнда, если пользователь предоставляет серийный номер.

У меня вопрос, как я могу задать текст текстового поля, связанного с автозаполнением с помощью кода?

Я скопировал StackBlitz и изменил его в соответствии со своим сценарием: https://stackblitz.com/edit/angular-material-autocomplete-async1-jxrahv?file=src%2Fapp%2Fapp.component.ts

Если вы нажмете кнопку «Нажми меня!»Кнопка, я хочу, чтобы текст текстового поля изменился на "Windstorm" (чего не происходит).

Спасибо!

1 Ответ

0 голосов
/ 09 февраля 2019

Вы заполняете свое автозаполнение массивом объектов, поэтому, когда вы пытаетесь установить значение «просто» строкой:

this.usersForm.get('userInput').setValue("Windstorm");

... это не будет работать.Установите весь объект в качестве значения, и все хорошо!:)

this.usersForm.get('userInput').setValue({ id: 1, name: 'Windstorm' });

Изменено StackBlitz

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