我正在使用带有 mat-autocomplete 的 Angular CDK 的覆盖模块。
场景: 有一个带有cdk-virtual-scroll的mat-autocomplete输入框,下面有两个按钮。使用下拉列表中的值之一预先选择了输入框。
问题: 现在,如果我们从 mat-autocomplete 输入中选择整个文本/双击默认选定的文本,然后点击正下方以再次取消选择该文本(在该按钮上/上方),我将无法单击这些按钮。
调试时分析: 如果我们点击输入,它会打开透明的 cdk-overlay 层,但没有结果。供参考,请参阅随附的 img,以了解我已将叠加背景设置为黄色,因为此叠加我们无法单击按钮。
<span>
<mat-form-field class="view-field">
<input matInput #leftInput
type="text"
placeholder="Select option"
[formControl]="viewControl"
[matAutocomplete]="view"
(blur)="checkData(true, viewControl.value)"
(click)="leftInput.select()"/>
</mat-form-field>
<mat-autocomplete
[displayWith]="display()"
(optionSelected)="checkData(true, $event.option.value)"
#view="matAutocomplete">
<cdk-virtual-scroll-viewport class="auto-complete-viewport" itemSize="10" minBufferPx="500" maxBufferPx="750">
<mat-option
*cdkVirtualFor="let d of data | async"
[value]="d"
title="{{ getNames(backup) }}">
{{ getNames(backup) }}
</mat-option>
</cdk-virtual-scroll-viewport>
</mat-autocomplete>
</span>