如何在垫自动完成中设置项目数

时间:2019-03-18 15:15:28

标签: html css angular angular-material

我现在正尝试在垫自动完成中更改项目数,但暂时没有成功。我正在使用material.angular.io

这是我的代码

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-add-and-search',
  templateUrl: './add-and-search.component.html',
  styleUrls: ['./add-and-search.component.css']
})
export class AddAndSearchComponent implements OnInit {

  items: string[] = ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5'];

  constructor() { }

  ngOnInit() {
  }

}
<mat-form-field appearance="standard">
  <mat-label>Search...</mat-label>
  <input matInput placeholder="Search..." [matAutocomplete]="auto">
  <mat-icon matSuffix>search</mat-icon>
</mat-form-field>

<mat-autocomplete #auto="matAutocomplete">
  <mat-optgroup label="Items">
    <mat-option *ngFor="let item of items" [value]="item">{{item}}</mat-option>
    <mat-option><mat-icon>add</mat-icon>Add</mat-option>
  </mat-optgroup>
</mat-autocomplete>

从文档中我了解到,自动完成面板的高度恒定为256px(https://material.angular.io/components/autocomplete/api#AUTOCOMPLETE_PANEL_HEIGHT)。

我的问题是:如何更改自动完成面板以显示更多项目。假设10。如果没有预定的方法,有人可以给我提示CSS技巧来设置高度,例如到512px而不是默认的256px?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以通过覆盖max-height来更改自动完成面板的高度,如下所示:

::ng-deep .mat-autocomplete-panel {
 max-height: 512px !important; 
}

See it in action here