css 当我在AngularMat-Select下拉菜单中选择另一个选项时,它会改变下拉菜单的位置

nukf8bse  于 2023-04-01  发布在  Angular
关注(0)|答案(1)|浏览(132)

下拉列表应该出现在select元素的下面,但是如果我选择第二个值,下拉列表会出现在select元素的顶部,这是不正确的。我删除了任何会影响这个的css,所以不知道为什么会发生。请参阅下面的问题截图:
Correct location if default value is selected
Dropdown box appears onto of select element if any other value is selected
相关代码:

<mat-form-field class="status-field" appearance="outline">
                <span class="field">Field</span>
                <mat-select formControlName="field" [disabled]="customFieldFilters.length === 0">
                    <mat-option value="internal" (click)="changeFieldFilter(false);">Test 1</mat-option>
                    <mat-option value="status" (click)="changeFieldFilter(false);">Test 2</mat-option>
                </mat-select>
            </mat-form-field>

我删除了所有会影响它的css,但它仍然会发生。该元素位于其自己的组件中,该组件位于父组件的覆盖层中,所以可能会影响它,因为默认的从Angular 的Mat-Select不会这样做。

bvn4nwqk

bvn4nwqk1#

通过向mat-select元素添加以下代码找到了解决方案:

<mat-select formControlName="field" [disabled]="customFieldFilters.length === 0" disableOptionCentering panelClass="dropdown-style">

disableOptionCentering并添加一个具有以下内容的类:

::ng-deep .dropdown-style {
  margin-top: 20px !important;
}

不是一个使用::ng-deep的爱好者,但它完成了这项工作,时间有限。

相关问题