Responsive Data Table with Searching, Sorting, Pagination
- Install React Table as a dependency
# NPM
$ npm install react-responsive-data-table
- Import the
react-responsive-data-table
module
// ES6
import Table from "react-responsive-data-table";
import Table from 'react-responsive-data-table';
render() {
<Table style={{
opacity: 0.8,
backgroundColor: "#00113a",
color: "#ffffff",
textAlign: "center"
}}
tableStyle="table table-hover table-striped table-bordered table-borderless table-responsive"
pages={true}
pagination={true}
onRowClick={() => {}} // if You Want Table Row Data OnClick then assign this {row => console.log(row)}
page={true}
errormsg="Error. . ."
loadingmsg="Loading. . ."
isLoading={false}
sort={true}
title="Customers"
search={true}
size={10}
data={{
head: {
id: "ID",
name: "Name",
email: "Email",
created_at: "Created At",
orders: "Orders",
last_order: "Last OrderResponse",
total_spent: "Total Spent"
},
data: [
{
id: 218354810912,
name: "Kattie Wisoky",
email: "[email protected]",
created_at: "2017-11-07T15:14:07.000+0000",
orders: 6,
last_order: "#2233",
total_spent: 0
},
{
id: 218354843680,
name: "Vernon McLaughlin",
email: "[email protected]",
created_at: "2017-11-07T15:14:07.000+0000",
orders: 4,
last_order: "#1287",
total_spent: 0
},
{
id: 218354909216,
name: "Jeffry Harber",
email: "[email protected]",
created_at: "2017-11-07T15:14:07.000+0000",
orders: 2,
last_order: "#2356",
total_spent: 0
}
]
}} />
}
You have to pass data and head objects in data prop. head is for Header.
<Table
data={{head:{},data:[]}}
/>
These are all of the available props (and their default values) for the main <Table />
component.
{
data={{
head:{},
data:[]
}},
style,
pages: true,
tableStyle: "table class name",
pagination= true,
page= true,
title= "title",
search= true,
size= 10,
errormsg= "Error message",
loadingmsg= "Loading message",
isLoading= false,
sort= true,
onRowClick= {() => {}} //function
}
data
- You have to pass data and head objects in data prop. head is for Header.tableStyle
- Bootstrap Table class namestyle
- Style for Table Headerpages
- Boolean. Shows Pages Option to display number of records per page.[5,10,20,25,50]pagination
- Boolean. Shows Pagination if true.page
- Boolean. Shows Current page out of total pages if true.title
- String. Title for Table.search
- Boolean. Shows Searchbar if true.size
- Number Of Records that Shows in single page. You can Onle use 5,10,20,25,50.errormsg
- Error message.(Default is Error. . .)loadingmsg
- Loading message. (Default is Loading. . .)isLoading
- Boolean. Default is falsesort
- Boolean. Default isonRowClick
- Function. You can redirect to another page by onRowClick, you can call any function by onRowClick, You can also get Row Data by onRowClick using ({row => console.log(row)}).