Wenn eine Tabelle so viele Spalten hat, dass sie nicht gleichzeitig angezeigt werden können, wird standardmäßig eine horizontale Bildlaufleiste angezeigt. Wenn Sie diese Bildlaufleiste verwenden, scrollt die Kopfzeile wie erwartet, aber der Tabellenkörper wird abgeschnitten, da sein Überlauf ausgeblendet ist. Das Hinzufügen von `bodyStyle={{height: 'inherit', overflow: 'auto'}} zur Table-Komponente führt zu einer zweiten horizontalen Bildlaufleiste, von der eine den Hauptteil richtig steuert, die andere die Kopfzeile.
<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>
Sorry fürs spammen.
Es scheint, dass das Tun <Table bodyStyle={{overflow:'visible'}}>
das erreicht, was ich will.
Vielleicht sollte dies aber die Vorgabe sein?
Die oben vorgeschlagene Lösung funktioniert nicht gut mit fixedHeader={true}
. Die Kopfzeile verliert die feste Positionierung, wenn der bodyStyle
-Überlauf auf visible
gesetzt wird
Wir haben die Komponente auf den v1-beta-Zweig portiert. Wir haben es von Grund auf neu implementiert. Der horizontale Bildlauf scheint in der Dokumentation korrekt zu funktionieren.
Hilfreichster Kommentar
Sorry fürs spammen.
Es scheint, dass das Tun
<Table bodyStyle={{overflow:'visible'}}>
das erreicht, was ich will.Vielleicht sollte dies aber die Vorgabe sein?