Dessine un conteneur de contenu flexible et extensible.
Usage
import { Card } from 'nr1'
Exemples
Basique
<Card> <CardHeader title="Card title" subtitle="This is a subtitle" /> <CardBody> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </CardBody></Card>
Pliable - Non contrôlé
<Card collapsible> <CardHeader title="Card title" subtitle="This is a subtitle" additionalInfoLink={{ label: 'See more', onClick: console.log, to: '#', }} /> <CardBody> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </CardBody></Card>
Pliable - Contrôlé
class MyComponent extends React.PureComponent { constructor(...args) { super(...args); this.state = { collapsed: false, }; } render() { const { collapsed } = this.state; return ( <Card collapsible collapsed={collapsed} onChange={(evt, collapsed) => this.setState({ collapsed })} > <CardHeader title="Card title" subtitle="This is a subtitle" additionalInfoLink={{ label: 'See more', onClick: console.log, to: '#', }} /> <CardBody> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </CardBody> </Card> ); }}
Plusieurs cartes pliables
<Grid> {[ { title: 'Services - APM', count: 11746, }, { title: 'Services - Open Telemetry', count: 2845, }, { title: 'Hosts', count: 1845, }, { title: 'Containers', count: 394, }, ].map((section) => ( <GridItem columnSpan={12}> <Card collapsible> <CardHeader title={section.title} additionalInfoLink={{ label: `View all (${section.count})`, onClick: console.log, to: '#', }} /> <CardBody> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </CardBody> </Card> </GridItem> ))}</Grid>
En-tête personnalisé
class MyComponent extends React.PureComponent { constructor(...args) { super(...args); this.state = { collapsed: false, }; } render() { const { collapsed } = this.state; return ( <Card collapsible collapsed={collapsed} onChange={(evt, collapsed) => this.setState({ collapsed })} > <CardHeader> <HeadingText>Custom header</HeadingText> </CardHeader> <CardBody> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </CardBody> </Card> ); }}
Carte sectionnée
class SectionedCard extends React.Component { renderForm() { return ( <Form layoutType={Form.LAYOUT_TYPE.SPLIT} splitSizeType={Form.SPLIT_SIZE_TYPE.SMALL} > <Switch label="Fit to data" /> <TextField label="Custom min" placeholder="0" /> <TextField label="Custom max" placeholder="Auto" /> <MultilineTextField label="Config" type={MultilineTextField.TYPE.PREFORMATTED} placeholder={`{ showLabels: "true" }`} /> </Form> ); }
render() { return ( <Card> <CardBody> <CardSection collapsible> <CardSectionHeader title="Y axis"></CardSectionHeader> <CardSectionBody>{this.renderForm()}</CardSectionBody> </CardSection> <CardSection collapsible> <CardSectionHeader title="X axis"></CardSectionHeader> <CardSectionBody>{this.renderForm()}</CardSectionBody> </CardSection> </CardBody> </Card> ); }}
Accessoires
OBLIGATOIREnœud | Contenu à rendre à l'intérieur de la carte. |
chaîne | Ajoute les noms de classe au composant. Doit être utilisé uniquement à des fins de positionnement et d'espacement. |
booléen | Définissez cet accessoire pour contrôler l'état réduit du composant. S'il est défini, il transforme le composant en composant contrôlé. |
booléen | Définissez cet accessoire pour rendre le composant pliable. |
booléen | Si |
booléen | Agrandit la carte pour occuper toute la hauteur disponible. |
booléen | Étend la carte pour occuper toute la largeur disponible. |
fonction | Cette fonction sera appelée chaque fois que l'utilisateur cliquera sur l'en-tête pour réduire ou développer le composant. Si vous contrôlez l'état du composant, utilisez ceci pour définir la valeur de l'accessoire function ( |
énumération[] | Propriété d'espacement. L'espacement est défini comme un uplet de zéro à quatre valeurs, qui suivent les mêmes conventions que les propriétés CSS comme <Array of |
objet | Doit être utilisé uniquement à des fins de positionnement et d'espacement. |
chaîne | Ajoute un attribut Remarque : vous ne verrez peut-être pas l'attribut |