ReactTable的说明

table样式

image.png

属性说明

属性名 说明
tableTitle 表头信息,具体数据格式见demo
tableData 表格数据,具体数据格式见demo
hasPage 是否有翻页
pageSize 每页展示的数据条数
total 数据总数
isShow 是否显示table
width table的宽度
height table的长度
sortFn 点击表头排序时的回调函数
pageChange 翻页时的回调函数

普通table

  • 翻页
import ReactTable from 'ReactTable';

getNewUsers = () => {
    //翻页时请求的后端接口
}

render() {
    const tableData = [{
        id: 1,
        name: 'Tanner Linsley',
        age: 26,
    },{
        id: 2,
        name: 'alice',
        age: 27,
    }];

    const tableTitle = [
        {
            key: 'id',
            name: '用户编号',
        },
        {
            key: 'name',
            name: '用户姓名',
        },
        {
            key: 'age',
            name: '用户年龄',
        }
    ]

    <ReactTable
        tableData={tableData}
        tableTitle={tableTitle}
        pageSize={10}
        pageChange={this.getNewUsers}
        total={20}
        >
    </ReactTable>
}
  • 排序
import ReactTable from 'ReactTable';

getNewUsers = () => {
    //翻页时请求的后端接口
}

sortFn = (sortKeyName, direction) => {
    //排序调用的函数
}

render() {
    const tableData = [{
        id: 1,
        name: 'Tanner Linsley',
        age: 26,
    },{
        id: 2,
        name: 'alice',
        age: 27,
    }];

    const tableTitle = [
        {
            key: 'id',
            name: '用户编号',
            sort: true, //是否有排序
        },
        {
            key: 'name',
            name: '用户姓名',
        },
        {
            key: 'age',
            name: '用户年龄',
        }
    ]


    <ReactTable
        tableData={tableData}
        tableTitle={tableTitle}
        pageSize={10}
        pageChange={this.getNewUsers}
        total={20}
        sortFn={this.sortFn}
        >
}

进阶table

table的某些列是需要自定义样式,有些时候还需要自定义事件。demo如下

import ReactTable from 'ReactTable';

getNewUsers = () => {
    //翻页时请求的后端接口
}

updateUser = () => {
    //更新user信息
}

render() {
    let _this = this;
    const tableData = [{
        id: 1,
        name: 'Tanner Linsley',
        age: 26
    },{
        id: 2,
        name: 'alice',
        age: 27,
    }];

    const tableTitle = [
        {
            key: 'id',
            name: '用户编号',
        },
        {
            key: 'name',
            name: '用户姓名',
        },
        {
            key: 'age',
            name: '用户年龄',
        },{
            key: 'handle',
            render: (userInfo, titleInfo, i) => {
                return (
                    <button onclick={_this.updateUser.bind(_this,userInfo)}>编辑</button>
                )
            }
        }
    ]


    <ReactTable
        tableData={tableData}
        tableTitle={tableTitle}
        pageSize={10}
        pageChange={this.getNewUsers}
        total={20}
        >
    </ReactTable>
}

对于tableTitle属性中,有render函数可以自定义这一列的样式以及相关样式。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,280评论 3 119
  • 我们一共见过几次呢?我很懒,不想去数了,即使十个手指头能数的清。可却好像认识了好久好久。 你不爱说话,你说不认识我...
    安是非识阅读 304评论 0 0
  • 今天自己上场打了一场比赛 结果是输了,但是通过这场比赛更清楚地发现了自己的进步和不足。 通过前几天看视频边看边记录...
    Rasmallin阅读 148评论 0 0
  • 我第一次板砖收入过万是什么时候其实已经忘了。 这是我如何帮助我的朋友,一个币圈小白板砖的经历。 事情就发生在快2个...
    林大先生阅读 2,092评论 1 2

友情链接更多精彩内容