angular - 如何在 mat-autocomplete 的输入中添加下拉箭头
问题描述
我使用 mat-autocomplete 来过滤我的数据。一切正常,但我希望有一个下拉箭头来显示输入中的所有选项。在 md-autocomplete 中,我们可以使用dropdown-arrow="true"但在 mat-autocomplete 中不支持它。那么如何在 mat-autocomplete 中添加下拉箭头呢?这是我的component.ts
<form class="example-form">
<mat-form-field class="example-full-width">
<input type="text" aria-label="Number" matInput
[formControl]="myControl" [matAutocomplete]="auto4"
[hidden]="loadWithFilters&&loadWithFilters.field==='IP'">
<mat-autocomplete #auto4="matAutocomplete" dropdown-arrow="true"
(optionSelected)="onFilterOptionSelected($event,'IP')" >
<mat-option *ngFor="let option of filteredIP | async"
[value]="option.key">
{{option.value}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</form>
解决方案
本质上,您正在附加 anmat-autocomplete
与matInput
,因此您可以单独设置样式form-field
,然后将其附加mat-autocomplete
到它。
请参阅此stackblitz以获取完整的代码演示。
form-field
可以像这样添加图标。
您的代码应如下所示 -
<form class="example-form">
<mat-form-field class="example-full-width">
<input type="text" matInput [formControl]="myControl" [matAutocomplete]="auto4"/>
<mat-icon matSuffix>keyboard_arrow_down</mat-icon>
<mat-autocomplete autoActiveFirstOption #auto4="matAutocomplete" (optionSelected)="onFilterOptionSelected($event)" >
<mat-option *ngFor="let option of filteredOptions | async" [value]="option">
{{option}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</form>
推荐阅读
- c++ - Visual Studio 如何在内核模式驱动程序项目中使用 C++ 标准库?
- json - 无效的 Json 到有效的 json
- javascript - oj-select-one 在下拉列表中显示所有值列表
- php - 如何使用 CURL PHP 发送访问令牌
- css - 无法让 div 填充它的容器可滚动宽度
- javascript - 修复了使用 jQuery 滚动的 NavBar
- reflection - 我们如何在不使用 power mockito 的情况下模拟私有方法
- error-handling - 在 10 月 cms 中使错误更加普遍
- java - 使用 GSON 进行递归 JSON 数据解析
- java - dropwizard中的xml响应格式