在我的Angular 5.1.1中,我试图添加一个自动完成组件。我以前使用过Angular Material组件,因此我遵循了它们的文档。我包括了必要的导入,打字稿代码和html代码。但是当我将注意力集中在输入上时,什么也没有发生,所以没有显示列表框。
我添加了所需的导入,例如ReactiveFormsModule,MatAutocompleteModule,MatFormFieldModule,MatInputModule。
我也在Angular 7应用程序中尝试了同样的方法,并且在那儿工作正常。
component.html
<mat-form-field>
<input type="text" placeholder="Select company" matInput [formControl]="myControl" [matAutocomplete]="auto">
</mat-form-field>
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let option of testCompanies" [value]="option">
{{ option }}
</mat-option>
</mat-autocomplete>
component.ts
export class EditModalContent /* implements OnInit */ {
testCompanies: string[] = ["One", "Two", "Three", "Four"];
myControl = new FormControl();
filteredOptions: Observable<string[]>;
constructor(public activeModal: NgbActiveModal) {}
在DOM中,我看不到任何添加到mat-autocomplete的选项,并且大小似乎为0x0。
编辑:
在DOM中搜索了一段时间并与Angular-Materials示例进行比较之后,我发现它显示在cdk-overlay-container中。现在的问题是,我试图在Modal中显示它,因此它在后台显示。但是肯定在那里!
我尝试使用z-index,但是它不起作用。
有人有创意吗?