mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2026-08-16 13:40:17 +00:00
fix #128
* implement custom row classes * add story for customizing row classes * add test for rowClasses * patch docs for rowClasses
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
import React from 'react';
|
||||
|
||||
import BootstrapTable from 'react-bootstrap-table2';
|
||||
import Code from 'components/common/code-block';
|
||||
import { productsGenerator } from 'utils/common';
|
||||
|
||||
const products = productsGenerator();
|
||||
|
||||
const columns = [{
|
||||
dataField: 'id',
|
||||
text: 'Product ID'
|
||||
}, {
|
||||
dataField: 'name',
|
||||
text: 'Product Name'
|
||||
}, {
|
||||
dataField: 'price',
|
||||
text: 'Product Price'
|
||||
}];
|
||||
|
||||
const rowClasses1 = 'custom-row-class';
|
||||
|
||||
const sourceCode1 = `\
|
||||
const columns = [{
|
||||
dataField: 'id',
|
||||
text: 'Product ID'
|
||||
}, {
|
||||
dataField: 'name',
|
||||
text: 'Product Name'
|
||||
}, {
|
||||
dataField: 'price',
|
||||
text: 'Product Price'
|
||||
}];
|
||||
|
||||
const rowClasses = 'custom-row-class';
|
||||
|
||||
<BootstrapTable keyField='id' data={ products } columns={ columns } rowClasses={ rowClasses } />
|
||||
`;
|
||||
|
||||
const rowClasses2 = (row, rowIndex) => {
|
||||
let classes = null;
|
||||
|
||||
if (rowIndex > 2) {
|
||||
classes = 'index-bigger-than-two';
|
||||
}
|
||||
|
||||
return classes;
|
||||
};
|
||||
|
||||
const sourceCode2 = `\
|
||||
const columns = [{
|
||||
dataField: 'id',
|
||||
text: 'Product ID'
|
||||
}, {
|
||||
dataField: 'name',
|
||||
text: 'Product Name'
|
||||
}, {
|
||||
dataField: 'price',
|
||||
text: 'Product Price'
|
||||
}];
|
||||
|
||||
const rowClasses = (row, rowIndex) => {
|
||||
let classes = null;
|
||||
|
||||
if (rowIndex > 2) {
|
||||
classes = 'index-bigger-than-two';
|
||||
}
|
||||
|
||||
return classes;
|
||||
};
|
||||
|
||||
<BootstrapTable keyField='id' data={ products } columns={ columns } rowClasses={ rowClasses } />
|
||||
`;
|
||||
|
||||
export default () => (
|
||||
<div>
|
||||
<BootstrapTable keyField="id" data={ products } columns={ columns } rowClasses={ rowClasses1 } />
|
||||
<Code>{ sourceCode1 }</Code>
|
||||
<BootstrapTable keyField="id" data={ products } columns={ columns } rowClasses={ rowClasses2 } />
|
||||
<Code>{ sourceCode2 }</Code>
|
||||
</div>
|
||||
);
|
||||
@@ -34,6 +34,7 @@ import HeaderColumnAttrsTable from 'examples/header-columns/column-attrs-table';
|
||||
|
||||
// work on rows
|
||||
import RowStyleTable from 'examples/rows/row-style';
|
||||
import RowClassTable from 'examples/rows/row-class';
|
||||
|
||||
// table sort
|
||||
import EnableSortTable from 'examples/sort/enable-sort-table';
|
||||
@@ -107,7 +108,8 @@ storiesOf('Work on Header Columns', module)
|
||||
.add('Customize Column HTML attribute', () => <HeaderColumnAttrsTable />);
|
||||
|
||||
storiesOf('Work on Rows', module)
|
||||
.add('Row Style', () => <RowStyleTable />);
|
||||
.add('Customize Row Style', () => <RowStyleTable />)
|
||||
.add('Customize Row Class', () => <RowClassTable />);
|
||||
|
||||
storiesOf('Sort Table', module)
|
||||
.add('Enable Sort', () => <EnableSortTable />)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
.custom-row-class {
|
||||
background-color: #c8e6c9;
|
||||
}
|
||||
|
||||
.index-bigger-than-two {
|
||||
background-color: #00BFFF;
|
||||
}
|
||||
@@ -6,4 +6,5 @@
|
||||
@import "welcome/index";
|
||||
@import "columns/index";
|
||||
@import "cell-edit/index";
|
||||
@import "row-selection/index";
|
||||
@import "row-selection/index";
|
||||
@import "rows/index";
|
||||
Reference in New Issue
Block a user