テーブルに多数の列があり、同時に表示できない場合、デフォルトで水平スクロールバーが表示されます。 このスクロールバーを使用すると、ヘッダーは期待どおりにスクロールしますが、オーバーフローが非表示になっているため、テーブル本体がカットオフされます。 テーブルコンポーネントに `bodyStyle = {{height: 'inherit'、overflow: 'auto'}}を追加すると、2番目の水平スクロールバーが生成されます。1つは本体を適切に制御し、もう1つはヘッダーを制御します。
<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>
スパムでごめんなさい。
<Table bodyStyle={{overflow:'visible'}}>
を実行すると、私が望むことを達成できるようです。
おそらくこれがデフォルトになるはずですか?
上で提案された解決策は、 fixedHeader={true}
ではうまく機能しません。 bodyStyle
オーバーフローがvisible
に設定されている場合、ヘッダーは固定位置を失います
コンポーネントをv1-betaブランチに移植してきました。 ゼロから再実装しました。 水平スクロールは、ドキュメントで正しく機能しているようです。
最も参考になるコメント
スパムでごめんなさい。
<Table bodyStyle={{overflow:'visible'}}>
を実行すると、私が望むことを達成できるようです。おそらくこれがデフォルトになるはずですか?