react-mui-datatables is table component for Material-UI V1. This version comes with search,export csv,sort,pagination,print. more options coming soon.stay with us...
npm install react-mui-datatables --save
For a simple table:
import MuiDataTable from "react-mui-datatables";
import data from "./data";
class App extends Component {
constructor(props) {
super(props);
App.handleClick = App.handleClick.bind(this);
}
componentWillMount() {
}
/*
* This function for handle your action button click event
* if you add action button you can get your own key from array using below command
* please add indexColumn key to options object.
*/
static handleClick(e) {
/* Your code is here.alert is the example */
alert("parent td#id: " + e.target.parentNode.id);
}
render() {
const columns = [
{
label: "First Name",
key: "fname", /* this value is the your array object key.if you did't add this table is not working */
sort: true /* you can set column sort true / false as your own */
},
{ label: "Last Name", key: "lname", sort: true },
{ label: "Email", key: "email" },
{ label: "Gender", key: "gender" },
{ label: "Action", key: "action" }, /* <-- this is required if you using customAction */
]; /* <-- Table header columns. this is required */
const action = <Button onClick={App.handleClick}>Action</Button>; /* <-- action button */
const options = {
hasIndex: true, /* <-- use numbers for rows*/
customAction: action, /* <-- use action button for row */
searchBox: true, /* <-- search true or false */
csv: true, /* <-- csv download true or false */
indexColumn: "fname" /* <-- add your data first unique column name for this like _id, i used fname because i don't have a _id field in my array */
};
return (
<div>
<MuiDataTable data={data} columns={columns} options={options} title={"User Data"} />
</div>
);
}
}
This component accepts the following props:
Name | Type | Description |
---|---|---|
title |
array | Title used to caption table |
columns |
array | Columns use to describe the table.this display on the table head cells.This is required |
data |
array | Data is your data array.This is required |
options |
object | Options use to customize your table |
Options: Use these as option object key.
Name | Type | Default | Description |
---|---|---|---|
hasIndex |
bool | false | This is use for create column with your index for adding numbers for rows first column |
customAction |
string | You can add custom action button if you want.please add this as a component | |
searchBox |
bool | true | You can remove search box using this option |
csv |
bool | true | You can remove csv download using this option |
indexColumn |
string | If add custom action button please set the indexColumn as your own array key. | |
printButton |
bool | true | You can disable print button using this. |
You can styles using material ui CreateMuiTheme function.
The files included in this repository are licensed under the MIT license.