¿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:
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?
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 establecercols="2"
para pantallas más grandes ycols="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:
En este ejemplo, se utiliza la directiva
*ngFor
para recorrer un array deproperties
. La variableisSmallScreen
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 componentemat-grid-tile-header
para mostrar la etiqueta como encabezado de la cuadrícula. Los atributosrowHeight
ygutterSize
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
ymat-grid-tile
de Angular Material, puedes crear fácilmente una lista receptiva de propiedades con Material Design.