Ich versuche, die Angular Material Autocomplete- Komponente in meinem Angular 2-Projekt zu verwenden. Ich habe meiner Vorlage Folgendes hinzugefügt.
<md-input-container>
<input mdInput placeholder="Category" [mdAutocomplete]="auto" [formControl]="stateCtrl">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete">
<md-option *ngFor="let state of filteredStates | async" [value]="state">
{{ state }}
</md-option>
</md-autocomplete>
Das Folgende ist meine Komponente.
import {Component, OnInit} from "@angular/core";
import {ActivatedRoute, Router} from "@angular/router";
import {FormControl} from "@angular/forms";
@Component({
templateUrl: './edit_item.component.html',
styleUrls: ['./edit_item.component.scss']
})
export class EditItemComponent implements OnInit {
stateCtrl: FormControl;
states = [....some data....];
constructor(private route: ActivatedRoute, private router: Router) {
this.stateCtrl = new FormControl();
this.filteredStates = this.stateCtrl.valueChanges.startWith(null).map(name => this.filterStates(name));
}
ngOnInit(): void {
}
filterStates(val: string) {
return val ? this.states.filter((s) => new RegExp(val, 'gi').test(s)) : this.states;
}
}
Ich erhalte den folgenden Fehler. Es sieht so aus, als würde die formControlRichtlinie nicht gefunden.
Kann nicht an 'formControl' gebunden werden, da es keine bekannte Eigenschaft von 'input' ist.
Was ist das Problem hier?
formcontroleher (Kleinbuchstaben) als formControl- wenn Sie Vorlagen über den Webpack-HTML-Loader ausführen, hilft dies: stackoverflow.com/a/40626329/287568


formControlmüssen SieReactiveFormsModulein Ihr Modul importieren , nicht in rootModule . Nur für den Fall, dass SieFormControlin Ihren Funktionsmodulen verwenden.