我正在使用material.angular.io中的mat-auto完整组件 . 默认行为是用户可以输入任何值,并提供可供选择的选项 . 您还可以将输入添加到所选值 . 你可以在这里查看示例 . https://stackblitz.com/angular/ngmvgralayd?file=app%2Fautocomplete-simple- example.html
这是我用于生成自动完成输入字段的代码 .
<form class="example-form">
<mat-form-field class="example-full-width">
<input type="text" placeholder="Pick one" aria-label="Number" matInput [formControl]="myControl" [matAutocomplete]="auto" disabled="true">
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let option of options" [value]="option">
{{ option }}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</form>
但我希望表单字段仅从给定选项中获取值,并希望除了给定选项之外,不希望用户输入任何值 . 怎么做到这一点?它就像具有自动完成功能的选择输入 .
3 回答
Markup:
Component:
正如@trichetriche在评论中已经提到的那样,这是select的用例 .
你可以使用select的材料版本,就像这样
如果您需要选择上方的过滤器,那么我建议您使用PrimeNg Dropdown https://www.primefaces.org/primeng/#/dropdown
Material demo for chips autocomplete显示
input
和mat-autocomplete
的绑定:如果您只想允许自动完成中的选项,只需从输入中省略
add
函数 .