我的一个组件中有一个 mat-select 组件,如下所示
<div id="graph-textbox">
<input type="textbox" class="form-control" [(ngModel)]="graph1_query"
placeholder="Search for Entities/Relations"
(keyup)="EnterKeyupChecker('graph-search',$event)"
>
</div>
<div style="padding-right: 5px" class="graph-dropdown">
<mat-form-field appearance="fill" style="width: 100%;">
<mat-label>Select Type</mat-label>
<mat-select [(ngModel)]="graph1_type_query"
(selectionChange)="graph1_subtype_query='';InGraph1Search();"
>
<mat-option value="">None</mat-option>
<mat-option *ngFor="let type of type_dropdown" [value]="type">
{{type}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
直到昨天,这个 mat-select 一直运行良好,显示选项,甚至执行选择操作。当我今天开始使用我的 Angular 应用程序时,它没有显示任何选项,当我单击它时只会突出显示 mat-label。代码中绝对没有任何改变。
graph1_type_query 的值是''在 .ts 文件中的声明,之后在整个代码中都没有触及。graph1_query 的值按预期工作。
到目前为止我遇到的情况:
- 使用[(value)]而不是 [(ngModel)]。没区别。
- 检查我的type_dropdown数组是否实际填充。将其记录到控制台并在 p 标签中打印出整个数组(使用相同的 ngFor 循环)并且它可以工作,甚至可以按预期随文本输入值(graph1_query)一起改变。
- 我什至用 mat-select 的一个简单示例替换了 mat-select,但即使这样也没有显示任何选项。
<mat-select [(ngModel)]="graph1_type_query">
<mat-option value="">None</mat-option>
<mat-option value="One">One</mat-option>
<mat-option value="Two">Two</mat-option>
<mat-option value="Three">Three</mat-option>
</mat-select>
- 检查角度和角度材料的兼容性
角度/核心:12.2.2
角度/材料:12.2.2
还尝试了材料版本 11.2.13 和 12.2.5 - 使用占位符属性
- 检查 App 模块文件中是否已导入 MatSelectModule。我还有其他具有类似代码的工作垫选择组件。
更新:它与本机选择完美配合。mat-select 的问题可能是什么?