Material Angular Accordion header/title height

后端 未结 4 1582
难免孤独
难免孤独 2021-02-03 18:52

So I\'ve been trying to adopt Materials Accordion in my Web Application development.

However having some troubles getting the header to expand in size as the content gro

相关标签:
4条回答
  • 2021-02-03 18:56

    Adding a general options/settings to set height for all panels across application:

    MatExpansionPanelDefaultOptions

    import { NgModule } from '@angular/core';
    import { MAT_EXPANSION_PANEL_DEFAULT_OPTIONS } from '@angular/material';
    
    @NgModule({
        providers: [
            {
                provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,
                useValue: {
                    hideToggle: true,
                    expandedHeight: '50px',
                    collapsedHeight: '50px'
                }
            }
        ]
    })
    export class AppMaterialModule {}
    
    0 讨论(0)
  • 2021-02-03 19:05

    That's what workerd for me, no css simply adding thowe to mat-expansion-panel-header

    <mat-expansion-panel-header [collapsedHeight]="'auto'" [expandedHeight]="'auto'">
    
    0 讨论(0)
  • 2021-02-03 19:16

    You dont have to use ::ng-deep. You can use [collapsedHeight] and [expandedHeight] on your mat-expansion-panel-header.

    <mat-accordion [displayMode]="displayMode" [multi]="multi" class="mat-expansion-demo-width">
        <mat-expansion-panel #panel1 [hideToggle]="hideToggle">
            <mat-expansion-panel-header [collapsedHeight]="'190px'" [expandedHeight]="'190px'">
                Section 1
            </mat-expansion-panel-header>
            <p>This is the content text that makes sense here.</p>
        </mat-expansion-panel>
    </mat-accordion>
    

    Link to StackBlitz Demo.

    0 讨论(0)
  • 2021-02-03 19:21

    As of today with Material 7.0.2, If you want to have the header follow some generic height:auto rule, this fix height might not be your solution. (for instance to follow the size of the text in the header in responsive situations)

    in these situations, it's much better to have an auto height defined in css:

      mat-expansion-panel {
        mat-expansion-panel-header {
          height: auto!important; 
        }
      }
    

    and define

      <mat-expansion-panel-header collapsedHeight="*" expandedHeight="*">
    

    as explained in https://github.com/angular/material2/pull/9313

    0 讨论(0)
提交回复
热议问题