【发布时间】:2019-03-05 22:13:19
【问题描述】:
我想在我的 Angular 应用程序的页面中添加一个自动完成字段。
我在模板中添加了以下内容。
<mat-form-field class="example-full-width">
<input matInput placeholder="Pick one" [(ngModel)]="entity.type" [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let option of options" [value]="option">
{{option}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
但是,当我导航到该页面时出现以下错误。
ERROR 错误:多个自定义值访问器与表单控件匹配 具有未指定的名称属性
如果我从模板中删除 [(ngModel)]="entity.type" 指令,错误就会消失。
这个错误的原因是什么?有什么办法可以解决吗?
Here is a stackblitz 用于此问题。错误显示在控制台,可以从页面右下角打开。
【问题讨论】:
-
分享你的ts代码
-
如果你觉得可以的话还有更多的html
-
@NoHoney_k1ll 添加了一个 stackblitz 示例
-
那是因为您使用了
ngModel和name属性,它们相互冲突。删除name属性、ngModel属性或使用Angular Reactive Forms。 -
@Edric 我已经删除了 stackblitz 中的
name属性,但问题仍然存在。知道为什么吗?