Angular Material создает определенное событие $ в файле компонента - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть Chip Component, который имеет вход, который запускает события для добавления фишек в список.Я получаю доступ к этому элементу через @ViewChild("chipInput", { static: true }) chipInput;

Я пытаюсь вызвать мой метод add(event: MatChipInputEvent) из другого компонента.Очевидно, мне нужно передать действительный MatChipInputEvent.

Я пробовал это:

let chips = this.comp.componentInstance.componentRef.instance as ChipInputComponent;

const myEvent: MatChipInputEvent = {
    input: chips.chipInput.nativeElement as HTMLInputElement,
    value: item
};

chips.add(event);

Это не похоже на работу.Свойство input myEvent не является действительным HTMLInputElement.Есть ли способ получить это HTMLInputElement через viewchild из DOM?

1 Ответ

1 голос
/ 23 сентября 2019

Важно, где упомянутый вами код существует.

Если он находится внутри ngOnInit, статическое значение должно быть истинным.

Это происходит после перехвата OnInit (т.е. в вашем методе), тогда вам следует объявить @ViewChild("chipInput", { static: false }) chipInput;

Подробнее об этом https://angular.io/guide/static-query-migration

Далее, если вы хотите обработать элемент chipInput, вы можете просто написать this.chipInput.*

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