В документации не упоминается тот факт, что вам следует импортировать классы материалов из тех же точек входа , либо
основная точка входа:
приложение .module.ts
import {
MatIconModule,
MatFormFieldModule, // it's redundant here since MatInputModule already exports it
MatInputModule,
MatSelectModule
} from "@angular/material";
example-tel-input-example.component.ts
import { MatFormFieldControl } from '@angular/material';
или
вторичный точки входа:
app.module.ts
import { MatSelectModule } from "@angular/material/select";
import { MatIconModule } from "@angular/material/icon";
import { MatInputModule } from "@angular/material/input";
example-tel-input-example.component.ts
import { MatFormFieldControl } from '@angular/material/form-field';
Forked Stackblitz
Почему это так важно?
Потому что для получения контроля над вложенными формами Angular материал использует @ContentChild(MatFormFieldControl)
декоратор и MatFormFieldControl
класс должны быть из одного пакета, иначе instanceof
вернет false