Lorsqu'un tableau comporte de nombreuses colonnes telles qu'elles ne peuvent pas être affichées simultanément, une barre de défilement horizontale apparaît par défaut. Lors de l'utilisation de cette barre de défilement, l'en-tête défile comme prévu, mais le corps du tableau est coupé car son débordement est masqué. L'ajout de `bodyStyle={{height: 'inherit', overflow: 'auto'}} au composant Table entraîne une deuxième barre de défilement horizontale, l'une qui contrôle correctement le corps, l'autre qui contrôle l'en-tête.
<Table>
<TableHeader>
<TableRow>
{this.props.tableHeader.map((col, i) =>
<TableHeaderColumn style={{ width: 100 }} key={i}>{col}</TableHeaderColumn>
)}
</TableRow>
</TableHeader>
<TableBody preScanRows={false}>
{this.props.tableData.map((row, i) => (
<TableRow key={i}>
{this.props.tableHeader.map((col, j) => (
<TableRowColumn style={{ width: 100 }} key={j}>{row[col]}</TableRowColumn>
))}
</TableRow>
))}
</TableBody>
</Table>
Désolé pour le spam.
Il semble que faire <Table bodyStyle={{overflow:'visible'}}>
accomplisse ce que je veux.
Peut-être que cela devrait être la valeur par défaut?
La solution proposée ci-dessus ne fonctionne pas bien avec fixedHeader={true}
. L'en-tête perd son positionnement fixe lorsque le débordement bodyStyle
est défini sur visible
Nous avons porté le composant sur la branche v1-beta . Nous l'avons réimplémenté à partir de zéro. Le défilement horizontal semble fonctionner correctement sur la documentation.
Commentaire le plus utile
Désolé pour le spam.
Il semble que faire
<Table bodyStyle={{overflow:'visible'}}>
accomplisse ce que je veux.Peut-être que cela devrait être la valeur par défaut?