react bootstrap table 错误未捕获的 TypeError: this.refs.innerDiv.setAttribute 不是一个函数
2015-11-24
1382
我正在寻找一个简单的 bootstrap react 表组件,具有添加、编辑、删除行功能。我尝试将 this 与我现有的 react 应用程序一起使用,但卡在以下错误中。
未捕获的 TypeError:this.refs.innerDiv.setAttribute 不是函数
表确实显示了,但由于上述错误,之后什么都不起作用。这是代码。
在此处输入代码
import React from 'react';
//import {BootstrapTable, TableHeaderColumn} from 'react-bootstrap-table';
import AppointmentActionCreator from '../actions/AppointmentActionCreators';
var ReactBsTable = require("react-bootstrap-table");
var BootstrapTable = ReactBsTable.BootstrapTable;
var TableHeaderColumn = ReactBsTable.TableHeaderColumn;
var products = [];
function addProducts(quantity) {
var startId = products.length;
for (var i = 0; i < quantity; i++) {
var id = startId + i;
products.push({
id: id,
name: "Item name " + id,
price: 2100 + i
});
}
}
addProducts(5);
export default class BasicTable extends React.Component{
constructor() {
super()
this.state = {
appointments: ''
};
AppointmentActionCreator.getAppointments();
}
render(){
return (
<div>
<BootstrapTable data={products} striped={true} hover={true} condensed={true}>
<TableHeaderColumn dataField="id" isKey={true}>Product ID</TableHeaderColumn>
<TableHeaderColumn dataField="name">Product Name</TableHeaderColumn>
<TableHeaderColumn dataField="price">Product Price</TableHeaderColumn>
</BootstrapTable>
</div>
);
}
};
2个回答
不知何故,react-bootstrap 模块产生了问题。我将其与 react 模块一起从项目中删除。重新安装 react 和 react-bootstrap 模块以解决此问题。我仍然不知道是什么原因造成的,但我用这种方法解决了它。我相信最新版本的 react 或 react-bootstrap 在解决方案中发挥了作用。感谢 react-bootstrap-table 的 Allen Fang。
Hemal
2015-12-16
查看 git 项目的源代码,在 TableHeaderColumns 的 componentDidMount 阶段调用了
this.refs.innerDiv.setAttribute("data-field", this.props.dataField);
。尝试在类的构造函数中设置产品数组 - 渲染方法可能在调用 addProducts 函数之前被调用 - 这意味着数据数组最初是空的。
user2341388
2015-11-24