如何减小MatSelect下拉面板的尺寸

时间:2019-01-09 05:38:10

标签: angular angular-material angular-material-6

我正在尝试减小垫选择下拉面板的默认大小,但无法弄清楚该怎么做

我尝试过给定width,并尝试在有角度的mat-select中覆盖面板类,但是大小似乎并没有减小

我的模板文件

    <div class="col-md-8">
       <mat-form-field style="float: right">
          <mat-select panelclass="my-panel" placeholder="Select Course"(selectionChange)="selectCourse($event,courses)" disableOptionCentering>
         <mat-option *ngFor="let course of courses" [value]="course.courseId">
          {{course.courseCode}}
        </mat-option>
      </mat-select>
    </mat-form-field>
  </div>

我的CSS文件

 .my-panel {
   background: orange;
   height: 300px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   min-width: 350px !important;
   }

预期结果:
Expected Result

实际结果: Actual Result

New Issue

2 个答案:

答案 0 :(得分:0)

模板中有一个错字,必须是panelClass而不是panelclass

<mat-select panelClass="my-panel" placeholder="Select Course"(selectionChange)="selectCourse($event,courses)" disableOptionCentering>

并且根据文档here,必须将组件上的ViewEncapsulation设置为None才能起作用。在使用panelClass的示例的注释中提到了它:

  // Encapsulation has to be disabled in order for the
  // component style to apply to the select panel.

Here是有效的堆叠闪电战,已将您的样式应用于选项。

答案 1 :(得分:0)

您可以通过将以下CSS添加到主styles.css文件中来设置mat-select的宽度。

.mat-form-field-infix{
    width: 80px !important;
}

根据您的要求更改80px。