Giter VIP home page Giter VIP logo

table's Introduction

rc-table

react table component

NPM version build status Test coverage gemnasium deps node version npm download

install

rc-table

Development

npm install
npm start

Example

http://localhost:8000/examples/

online example: http://react-component.github.io/table/examples/

Usage

var React = require('react');
var Table = require('rc-table');
require('rc-table/assets/index.css');

var columns = [
  {title: '表头1', dataIndex: 'a', colSpan: 2,key:'a',width: 100},
  {id: '123', title: '表头2', dataIndex: 'b', colSpan: 0,key:'b', width: 100, render: function(o, row, index){
      let obj ={
        children:o,
        props:{}
      }
      if(index === 0){
        obj.props.rowSpan = 2;
      }
      if(index === 1){
        obj.props.rowSpan = 0;
      }
      return obj;
    }},
  {title: '表头3', dataIndex: 'c',  key:'c',width: 200},
  {
    title: '操作', dataIndex: '',  key:'d',render: function () {
    return <a href="#">操作</a>
  }
  }
];

var data = [{a: '123',key:'1'}, {a: 'cdd', b: 'edd',key:'2'}, {a: '1333', c: 'eee', d: 2,key:'3'}];

var table = React.render(
  <div>
    <h2>simple table</h2>
    <Table columns={columns}
      data={data}
      className="table"/>
  </div>,
  document.getElementById('__react-content')
);

API

property

name type default description
prefixCls String rc-table
className String additional className
colSpan Number thead colSpan of this column
useFixedHeader Boolean false whether use separator table for header. better set width for columns
scroll Object {x: false, y: false} whether table can be scroll in x/y direction, `x` or `y` can be a number that indicated the width and height of table body
expandIconAsCell Boolean false whether render expandIcon as a cell
expandIconColumnIndex Number 0 The index of expandIcon which column will be inserted when expandIconAsCell is false
rowKey Function(recode,index):string record.key default use record.key as rowKey
rowClassName Function(recode,index):string get row's className
rowRef Function(record,index):string get row's ref key
defaultExpandedRowKeys String[] [] initial expanded rows keys
expandedRowKeys String[] current expanded rows keys
defaultExpandAllRows Boolean false Expand All Rows initially
onExpandedRowsChange Function(expandedRows) save the expanded rows in the internal state function to call when the expanded rows change
onExpand Function(expanded, record) function to call when click expand icon
expandedRowClassName Function(recode,index):string get expanded row's className
data Object[] data record array to be rendered
indentSize Number 15 indentSize for every level of data.i.children, better using with column.width specified
onRowClick Function(record, index) handle rowClick action, index means the index of current row among fatherElement[childrenColumnName]
columnsPageSize Number 5 pageSize of columns. (Deprecated, use fixed columns)
columnsPageRange Array columns index range need paging, like [2,10]. (Deprecated, use column.fixed)
showHeader Boolean true whether table head is shown
footer Function(currentData) table footer render function
columns Object[] The columns config of table. contains
name type default description
key String key of this column
className String className of this column
title React Node title of this column
dataIndex String display field of the data record
width String|Number width of the specific proportion calculation according to the width of the columns
fixed String|Boolean this column will be fixed when table scroll horizontally: true or 'left' or 'right'
render Function(value, row, index) The render function of cell, has three params: the text of this cell, the record of this row, the index of this row, it's return an object:{children: value, props:{colSpan: 1, rowSpan:1}}==>'children' is the text of this cell, props is some setting of this cell, eg: 'colspan' set td colspan, 'rowspan' set td rowspan

Test Case

http://localhost:8000/tests/runner.html?coverage

Coverage

http://localhost:8000/node_modules/rc-server/node_modules/node-jscover/lib/front-end/jscoverage.html?w=http://localhost:8000/tests/runner.html?coverage

License

rc-table is released under the MIT license.

table's People

Contributors

afc163 avatar alexkvak avatar benjycui avatar dxq613 avatar fr11dom avatar jaredleechn avatar popomore avatar queimadus avatar wxt2005 avatar yiminghe avatar zhujun24 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.