作为用户,当我从键盘上键入选项时,滚动条不会位于突出显示的项目上。同样,当我选中该复选框时,滚动条会滚动到除坚持所选选项之外的其他位置。
代码为
<form >
<mat-form-field appearance="outline" floatLabel="never" class="some-class">
<mat-select #multiselect [compareWith]="somefn" disableOptionCentering="true" disableRipple="true" panelClass=some-class" placeholder="{{label}}" [formControl]="control" multiple class="some-class" (selectionChange)="somefn()">
<mat-select-trigger>
<span *ngIf="control.value?.length == allSelectedNum; else otherBlock">
ALL
</span>
<ng-template #otherblock>
##more code
</ng-template>
</mat-select-trigger>
<mat-option #allSelected [value]="'0'" (click)="someclickfn()">Select/Deselect All</mat-option>
<mat-option *ngFor="let apple of appleList" [value]="apple" (click)="someotherclk(apple)">{{apple.name}}</mat-option>
</mat-select>
</mat-form-field>
</form>
答案 0 :(得分:-1)
我有同样的问题。就我而言,原因是我将垫子选项的高度与原始垫子选项进行了比较,现在,当选择物料时,它试图将所选物料集中或放置在某个位置,但是由于所有下拉菜单的大小发生了变化,我认为这是在计算错误定位并滚动到完全不同的项目。
即使在具体示例中也可以复制 https://stackblitz.com/angular/lvlxpvkrnlk?file=app%2Fselect-optgroup-example.ts
只需将mat-option的样式更改为类似的内容
.option-style {
height: 15px !important;
font-size: 12px !important;
}
并在中间添加更多项目,然后尝试在中间选择一些内容 在这里,我试图思考情况: https://stackblitz.com/edit/angular-lmkqjv?file=app%2Fselect-optgroup-example.css