react-table组件入门和在IE11上遇到的坑

原创 2017年10月20日 23:00:02

react-table是一个非常好的渲染数据表的一个react的前端控件,当时之所以选择这个库就是因为其每列的列宽可以自己拖拽变宽或者变窄,而且其可以非常容易的被定制。

这里写图片描述

我们可以看到起用户的给Star已经达到了2k,看来应该是一个不错的模块。
而且其提供了可以在线练习和修改代码的范例和平台,非常的方便初学者快速掌握。

这里写图片描述

左边修改代码,右边立马就能看到修改的结果。
下面就是一个简单的例子,

import React from "react";
import { render } from "react-dom";
import { makeData, Logo, Tips } from "./Utils";

// Import React Table
import ReactTable from "react-table";
import "react-table/react-table.css";

class App extends React.Component {
  constructor() {
    super();
    this.state = {
      data: makeData()
    };
  }
  render() {
    const { data } = this.state;
    return (
      <div>
        <ReactTable
          data={data}
          columns={[
            {
              Header: "Name",
              columns: [
                {
                  Header: "First Name",
                  accessor: "firstName"
                },
                {
                  Header: "Last Name",
                  id: "lastName",
                  accessor: d => d.lastName
                }
              ]
            },
            {
              Header: "Info",
              columns: [
                {
                  Header: "Age",
                  accessor: "age"
                },
                {
                  Header: "Status",
                  accessor: "status"
                }
              ]
            },
            {
              Header: 'Stats',
              columns: [
                {
                  Header: "Visits",
                  accessor: "visits"
                }
              ]
            }
          ]}
          defaultPageSize={10}
          className="-striped -highlight"
        />
        <br />
        <Tips />
        <Logo />
      </div>
    );
  }
}

render(<App />, document.getElementById("root"));

是不是感觉特别的棒。而且还支持表格归类,表格的嵌套,表格的定制,功能非常的强大。

因为笔者的项目要求其能同时支持IE11,Chrome和FireFox,当笔者使用React-table组件后,在Chrome和FireFox上面都没有问题,能显示正常,同样的代码在
IE11上就显示不出来,只能显示分页。
@在Chrome/FireFox显示正常
这里写图片描述
@在IE11上显示不出来
这里写图片描述

代码如下:

import React from 'react';
import ReactTable from "react-table";
import "react-table/react-table.css";
export default class Example extends React.Component {

  constructor(){
    super();
    let rows = [];
    for (let i = 1; i < 1000; i++) {
      rows.push({
        ID: i,
        Title: 'Title ' + i,
        Count: i * 1000
      });
    };
    this.state={
      columns:[
      { Header: 'id', accessor: 'ID',  id: "id" },
      { Header: 'title', accessor: 'Title',  id: "title"},
      { Header: 'count', accessor: 'Count', id: "count" } ],
      _rows:rows
    }
  }


  render() {

      return  (
        <div>
        <ReactTable
         columns={this.state.columns}
         data = {this.state._rows}
         className="-striped -highlight" />
        </div>
      );
    }

}

那么解决的办法是什么呢? 原来是因为IE11上的一个样式不兼容引起的。所以需要新建一个样式,比如在新建一个react-table-fix-ie.css文件,在里面写入下面的代码:

.ReactTable {
  display: block;
}

然后在上面的代码中引入这个样式文件,问题就解决了。

import React from 'react';
import ReactTable from "react-table";
import "react-table/react-table.css";
import '../../style/css/react-table-fix-ie.css';
export default class Example extends React.Component{
                     ....
}

好了,今天的分享就到此为止把。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

从IE6到IE11上运行WebGL 3D遇到的各种坑

这篇《基于HTML5的电信网管3D机房监控应用》基于WebGL技术的应用让少同学对HTML5 3D的应用产生了兴趣和信心,但有不少网友私信询问WebGL如何运行在老的IE678910浏览器的问题,...

关于IE11浏览器常遇到的一些问题:1.F12调试工具没法用 2.浏览器搜索一直刷新不出页面

IE浏览器F12调试工具没法用 如果电脑系统是:Win7 64位 需要安装如下插件:IE11-Windows6.1-KB3008923-x64.msu  下载地址:https://downloa...

IE11无法打开网页,一片空白,Internet选项灰色无法点击的问题

【2016年6月4日 星期六】 【问题解决】 参考百度知道: http://zhidao.baidu.com/question/2201573055406154108.html?from=co...

IE11 中的兼容性更改

使用 Internet Explorer 11,你可以获得与 Web 标准、其他浏览器和实际网站的更好兼容性。 更新了对常用 Web 标准的支持并添加了可防止较旧版本的网站错误显示的更改。 这些...
  • nhconch
  • nhconch
  • 2014年01月18日 17:49
  • 8576

Selenium3.0在火狐、IE11运行的注意事项

1、IE11报Unable to get browser的错误,官方解决方案: Required Configuration The IEDriverServer exectuable must ...
  • SHW800
  • SHW800
  • 2016年12月08日 16:58
  • 2899

js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)

这篇文章主要介绍了js实现ctrl+v粘贴上传图片,兼容chrome,firefox,ie11

Compatibility changes in IE11

Compatibility changes in IE11 With Internet Explorer 11, you get better compatibility with we...

liferay6.2.2GA2中CKEditor在IE11与SAFARI中BUG解决方案

因为最近用liferay6.2做的网站正在给客户进行测试,客户发现在IE11中写文章时 会出现CKEDITOR有功能有问题。 现象描述: 1.拖块选择文字后 点击字号去更改所选文字字体大小时,拖块操作...
  • XRAYDOG
  • XRAYDOG
  • 2015年02月06日 13:58
  • 1166

探索IE11新开发者工具–“网络”面板功能改进(上)

当我们在加载网页的时候,会因为种种原因导致网页加载速度太慢,比如网站后端响应时间太长,网站一次性加载的资源太多需要发送过多的请求,网络状况不好,甚至是电脑配置太差? 微软在IE9的开发者工具中加入了...

探索IE11新开发者工具 – “网络”面板功能改进(下)

接着上篇文章,点击计时这列的某条记录之后就进入到了详细视图页面。 在这个详细视图页面中可以看到详细视图又由请求标头、请求正文、响应标头、响应正文、Cookie、发起程序、计时这几部分组成。现...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:react-table组件入门和在IE11上遇到的坑
举报原因:
原因补充:

(最多只允许输入30个字)