es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Componente de Angular Material para lista de propiedades?

Me gustaría lograr una lista responsive de propiedades en Angular con Material Design.

Algo como esto:

Image description

Donde, si la pantalla se hace más pequeña, las etiquetas aparecen encima de los valores.

Podría construir algo por mí mismo, pero creo que esto es un problema común. ¿Cuál es la forma correcta de Material / Angular para mostrar esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr una lista de propiedades receptiva en Angular con Material Design, puedes usar el componente mat-grid-list de Angular Material.

    Primero, definirás tu lista de cuadrícula con un número de columnas basado en el tamaño de la pantalla usando el atributo cols. Por ejemplo, puedes establecer cols="2" para pantallas más grandes y cols="1" para pantallas más pequeñas.

    A continuación, crearás tus cuadrículas utilizando el componente mat-grid-tile. Cada cuadrícula contendrá tu par de etiqueta y valor. Por defecto, las cuadrículas se organizarán horizontalmente en la lista de cuadrícula.

    Para mostrar las etiquetas encima de los valores en pantallas más pequeñas, puedes usar el componente mat-grid-tile-header para agregar un encabezado a cada cuadrícula. El encabezado contendrá tu etiqueta y el contenido de la cuadrícula contendrá tu valor.

    Aquí tienes un ejemplo de implementación:

    <mat-grid-list [cols]="2" rowheight="50px" guttersize="16px">
      <mat-grid-tile *ngfor="let property of properties">
        <mat-grid-tile-header *ngif="isSmallScreen">{{ property.label }}</mat-grid-tile-header>
        <div>{{ property.value }}</div>
      </mat-grid-tile>
    </mat-grid-list>
    

    En este ejemplo, se utiliza la directiva *ngFor para recorrer un array de properties. La variable isSmallScreen se utiliza para determinar si el tamaño de la pantalla es lo suficientemente pequeño como para mostrar las etiquetas encima de los valores. Si es así, se utilizará el componente mat-grid-tile-header para mostrar la etiqueta como encabezado de la cuadrícula. Los atributos rowHeight y gutterSize se añaden para definir el tamaño y el espacio entre las cuadrículas en la lista.

    Al usar los componentes mat-grid-list y mat-grid-tile de Angular Material, puedes crear fácilmente una lista receptiva de propiedades con Material Design.

Comments are closed.