Closed github-learning-lab[bot] closed 4 years ago
:white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark::white_check_mark:
:white_check_mark: Add a tab-layout#home
to your store.custom
template
:white_check_mark: Declare the block tab-layout#home
with tab-list#home
and tab-content#home
block as children
:white_check_mark: Declare the block tab-list#home
with two tab-list.item
blocks as children
:white_check_mark: Make tab-list.item#home1 block show "Major Appliances"
:white_check_mark: Make tab-list.item#home2 block show "Electronics"
:white_check_mark: Create tab-content#home
with two tab-content.item
blocks
:white_check_mark: Create tab-content#home
with two tab-content.item
blocks
:white_check_mark: Add rich-text
blocks to each tab-content.item
:white_check_mark: Add tabId
s to tab-content.item
s
:white_check_mark: Declare the expected rich-text
blocks that should show up in each tab
Layout de pestañas
:sparkles: Branch: tablayout
Introducción
Tab Layout es un paradigma de estructuración de layouts creado en Store Framework para permitir la construcción de layouts con pestañas.
En este paradigma tenemos dos containers:
tab-list
ytab-content
. En cada uno de estos containers, tenemos los ítems que los componen. Dentro detab-list
, tenemos lostab-list.item
. Entab-content
, tenemos lostab-content.item
.A continuación, veremos un ejemplo de implementación de un tab layout.
En primer lugar, es necesario declarar el block
tab-layout
en el template deseado:Después, es necesario declarar un
tab-list
y untab-content
como children deltab-layout
:Con esto, tenemos estos dos containers como componentes de nuestro
tab-layout
. El siguiente paso es declarar lostab-list.item
ytab-content.item
como children deltab-list
ytab-content
, respectivamente:En la siguiente etapa, tenemos que declarar las propiedades de los
tab-list.item
. El siguiente código genera una interfaz de tabs como la de esta imagen:La propiedad
tabId
es muy importante, pues es la llave que conecta el botón de untab-list.item
con untab-content.item
.A continuación, declararemos los children y las props de los
tab-content.item
.En el array de children, es posible incluir diversos blocks como
rich-text
,info-card
,image
,flex-layout
y etc.En la prop
tabId
, es necesario incluir los mismos ids declarados en lostab-list.item
para que el enlace entre la pestaña y el contenido funcione.Por último, debe declarar las propiedades de su contenido. En nuestro ejemplo, colocamos apenas un
rich-text
en cadatab-content.item
:Actividad
En esta actividad, crearemos la estructura simple de un tab layout, como en la siguiente imagen. Más adelante incluiremos algún contenido para estilizar nuestra página personalizada.
about-us.jsonc
creado anteriormente, agregue untab-layout#home
al templatestore.custom#about-us
.tab-layout#home
y agregue como sus children untab-list#home
y untab-content#home
.tab-list#home
y agregue como sus children untab-list.item#home1
y untab-list.item#home2
.tab-list.item#home1
de manera que la interfaz muestre el texto "Major Appliances". (Consejo: no olvide que incluir en las props untabId
="majorAppliances"
y la propiedaddefaultActiveTab
=true
).tab-list.item#home2
de manera que la interfaz muestre el texto "Electronics". (Consejo: no se olvide que incluir en las props untabId
="electronics"
).tab-content#home
en su tema y agregue los childrentab-content.item#home1
ytab-content.item#home2
.tab-content.item
, declare apenas unrich-text
como children (por ejemplo,rich-text#home1
yrich-text#home2
).tabId
en cadatab-content.item
de manera que se produzca el enlace entre eltab-list
creado anteriormente ytab-content
.Por último, agregue los
rich-text
y declare sus props de acuerdo con el siguiente código::information_source: Recuerde acceder a la documentación Tab Layout y Rich Text si tiene alguna duda durante la actividad.
:no_entry_sign: ¿Perdido?
¿Hay algún problema con este paso? ¿Qué tal si nos envía un feedback? :pray:
Crear feedback
Si aún tiene alguna duda sobre cómo enviar su respuesta, puede revisar aquí.