2015-12-02 13 views
5

ho la seguente:reagiscono-bootstrap-tabella disallineati colonne di intestazione

Node.jsx

import React from 'react'; 
import {Col, Row, Tab, Tabs} from 'react-bootstrap'; 
import Alerts from './Alerts'; 
import Details from './Details'; 
import Family from './Family'; 
import Instances from './Instances'; 

module.exports = React.createClass({ 
    displayName: 'Node', 
    render() { 
    return (
     <Row> 
     <Col md={12}> 
      <Tabs defaultActiveKey={1}> 
      <Tab eventKey={1} title={'Details'}> 
       <Details /> 
      </Tab> 
      <Tab eventKey={2} title={'Alerts'}> 
       <Alerts /> 
      </Tab> 
      <Tab eventKey={3} title={'Family'}> 
       <Family /> 
      </Tab> 
      <Tab eventKey={4} title={'Instances'}> 
       <Instances instances={this.props.nodeInstances}/> 
      </Tab> 
      </Tabs> 
     </Col> 
     </Row> 
    ); 
    } 
}); 

Instances.jsx

import React from 'react'; 
import {BootstrapTable, TableHeaderColumn} from 'react-bootstrap-table'; 

module.exports = React.createClass({ 
    displayName: 'NodeInstances', 
    getDefaultProps() { 
    return { 
     selectRowOpts: { 
     mode: "radio", 
     clickToSelect: true, 
     hideSelectColumn: true, 
     bgColor: "rgb(238, 193, 213)", 
     onSelect: (row, isSelected) => { console.log(row, isSelected); } 
     } 
    }; 
    }, 
    render() { 
    var props = this.props; 

    return (
     <BootstrapTable data={props.instances} hover condensed selectRow={props.selectRowOpts}> 
     <TableHeaderColumn dataField={'interval_value'} dataSort>{'Interval'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'status_name'} dataSort>{'Status'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'started_ts'} dataSort>{'Started'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'completed_ts'} dataSort>{'Completed'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'last_runtime'} dataSort>{'RT'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'attempts'} dataSort>{'Attempts'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'pid'} dataSort>{'PID'}</TableHeaderColumn> 
     <TableHeaderColumn dataField={'node_instance_id'} dataSort isKey>{'ID'}</TableHeaderColumn> 
     </BootstrapTable> 
    ); 
    } 
}); 

Ecco quello che sembra tutto Mi piace:

enter image description here

Perché le colonne di intestazione per la tabella sono disallineate? Inoltre, quando seleziono una delle intestazioni per ordinare la tabella, o quando seleziono una delle righe nella tabella, le colonne diventano allineate correttamente con le intestazioni. Ho dimenticato qualcosa?

+2

ottengo lo stesso problema, caricato il mio css prima di bootstrap.css un po 'risolto il mio problema – NubbyMcNuberson

+0

Sì, ho triplicato controllato e non è risolvendolo per me :(Vorrei che fosse così semplice –

+0

sei riuscito a risolvere questo problema ? Sto affrontando lo stesso identico problema e non ho trovato alcuna soluzione utile per questo. –

risposta

2

Avevo lo stesso problema e ho scoperto che stavo importando il file CSS sbagliato. Assicurati di utilizzare uno dei file CSS elencati in here.

Ho anche utilizzato table-layout: fixed e impostato una larghezza specifica su ciascun componente TableHeaderColumn.

Non è la soluzione ideale, ma è l'unica cosa che ho trovato che funzioni.