gpt4 book ai didi

Angular Material 自动完成显示 TypeError : Cannot read property 'createEmbeddedView' of undefined

转载 作者:太空狗 更新时间:2023-10-29 18:18:40 26 4
gpt4 key购买 nike

我正在尝试使用 Angular Material 自动完成功能。但是,当我保持专注时,我开始收到错误消息:无法读取未定义的属性“createEmbeddedView”

对于我输入的每个字母,我还会收到另一个错误 ERROR TypeError: this.autocomplete._setVisibility is not a function 有人可以解释一下我的代码有什么问题吗?我是 Angular 的初学者。

在我的 html 上我有:

<mat-form-field> 
<input formControlName="accId" matAutocomplete="auto" matInput>
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let accId of filteredOptions"> {{accId}}
</mat-option>
</mat-autocomplete>
</mat-form-field>

我的 .ts 文件:

 filteredOptions: Observable<string[]>;
ngOnInit(): void {
this.filteredOptions = this.form.controls['accId'].valueChanges.pipe(startWith(''),map(val => this.filter(val)));
console.log(this.filteredOptions);
}

filter(val: string): string[] {
console.log("Inside filter...");
return this.details.listOfAccIds.filter(option =>option.toLowerCase().includes(val.toLowerCase()));
}

注意:我将 this.details 作为

Detail {listOfAccIds: Array(3), listOfCodes: Array(2), listOfReasons: Array(3)}
listOfAccIds:(3) ["altaccId", "altaccIdss2", "altiid33"]
listOfCodes:(2) ["code1", "code2"]
listOfReasons:(3) ["reason1", "reason2", "reason3"]

最佳答案

您缺少 matAutocomplete 指令周围的括号:

<input formControlName="accId" matAutocomplete="auto" matInput>

应该是

<input formControlName="accId" [matAutocomplete]="auto" matInput>

括号是必需的,因为您要将引用传递给变量 auto。您编写它的方式只将一个静态字符串传递给指令,这是行不通的,因为该指令需要一个元素引用而不仅仅是它的名称。

关于Angular Material 自动完成显示 TypeError : Cannot read property 'createEmbeddedView' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50689675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com