Layout est un système de mise en page unidimensionnel avec des options permettant de contrôler la taille relative des éléments de ses enfants. La mise en page s'étend sur toute la largeur de la zone d'affichage.
Usage
import { Layout } from 'nr1'
Exemples
Basique
<Layout preview> <LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem></Layout>
Petite fente à gauche
<Layout preview> <LayoutItem type={LayoutItem.TYPE.SPLIT_LEFT} sizeType={LayoutItem.SIZE_TYPE.SMALL} > <div className="nr1-Box">Navigation</div> </LayoutItem> <LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem></Layout>
Diviser le milieu droit
<Layout preview> <LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem> <LayoutItem type={LayoutItem.TYPE.SPLIT_RIGHT}> <div className="nr1-Box">Activity stream</div> </LayoutItem></Layout>
Diviser la gauche en petit et la droite en moyen
<Layout preview> <LayoutItem type={LayoutItem.TYPE.SPLIT_LEFT} sizeType={LayoutItem.SIZE_TYPE.SMALL} > <div className="nr1-Box">Navigation</div> </LayoutItem> <LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem> <LayoutItem type={LayoutItem.TYPE.SPLIT_RIGHT}> <div className="nr1-Box">Activity stream</div> </LayoutItem></Layout>
Séparé à gauche et à droite pliable
<Layout preview fullHeight> <CollapsibleLayoutItem triggerType={CollapsibleLayoutItem.TRIGGER_TYPE.INBUILT} type={LayoutItem.TYPE.SPLIT_LEFT} sizeType={LayoutItem.SIZE_TYPE.SMALL} > <div className="nr1-Box">Navigation</div> </CollapsibleLayoutItem>
<LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem>
<CollapsibleLayoutItem triggerType={CollapsibleLayoutItem.TRIGGER_TYPE.INBUILT} type={LayoutItem.TYPE.SPLIT_RIGHT} > <div className="nr1-Box">Activity stream</div> </CollapsibleLayoutItem></Layout>
Pliable en mode contrôlé
class Example extends React.Component { constructor(props) { super(props);
this.state = { collapsedLeft: false, collapsedRight: false, }; }
render() { return ( <> <Stack> <StackItem> <label> Collapsed on the left side? <input type="checkbox" onChange={(e) => this.setState({ collapsedLeft: e.currentTarget.checked }) } /> </label> </StackItem>
<StackItem> <label> Collapsed on the right side? <input type="checkbox" onChange={(e) => this.setState({ collapsedRight: e.currentTarget.checked }) } /> </label> </StackItem> </Stack>
<Layout preview fullHeight> <CollapsibleLayoutItem collapsed={this.state.collapsedLeft} triggerType={CollapsibleLayoutItem.TRIGGER_TYPE.CUSTOM} type={LayoutItem.TYPE.SPLIT_LEFT} sizeType={LayoutItem.SIZE_TYPE.SMALL} > <div className="nr1-Box">Navigation</div> </CollapsibleLayoutItem>
<LayoutItem> <div className="nr1-Box">Main content</div> </LayoutItem>
<CollapsibleLayoutItem collapsed={this.state.collapsedRight} triggerType={CollapsibleLayoutItem.TRIGGER_TYPE.CUSTOM} type={LayoutItem.TYPE.SPLIT_RIGHT} > <div className="nr1-Box">Activity stream</div> </CollapsibleLayoutItem> </Layout> </> ); }}
Disposition empilée
<> <Layout preview> <LayoutItem> <div className="nr1-Box">Chart</div> </LayoutItem> </Layout> <Layout preview> <LayoutItem type={LayoutItem.TYPE.SPLIT_LEFT} sizeType={LayoutItem.SIZE_TYPE.SMALL} > <div className="nr1-Box">Navigation</div> </LayoutItem> <LayoutItem> <div className="nr1-Box">Main Content</div> </LayoutItem> </Layout></>
Accessoires
OBLIGATOIREnœud | Éléments de mise en page à afficher. |
chaîne | Ajoute les noms de classe au composant. |
booléen | Étend la disposition pour occuper toute la hauteur disponible. |
booléen | Dessine visuellement les cases de la mise en page et ses éléments de mise en page. |
objet | Style en ligne pour un style personnalisé. |
chaîne | Ajoute un attribut Remarque : vous ne verrez peut-être pas l'attribut |