【发布时间】:2015-07-28 15:43:57
【问题描述】:
我正在尝试创建一个与传单地图同步的 react.js 表。我有这些数据并且能够正确获取数据,但我无法正确创建表。我能够看到标题,因为它们是硬编码的,但我看不到行。我还有一张图来解释代码中console.log()点的数据。代码如下:
/* Table React Component */
var TABLE_CONFIG = {
sort: { column: "Zone", order: "desc" },
columns: {
col1: { name: "Zone", filterText: "", defaultSortOrder: "desc" },
col2: { name: "Population", filterText: "", defaultSortOrder: "desc" }
}
};
var Table = React.createClass({
getInitialState: function() {
var tabledata = [];
var length = _.size(testJSON.zones);
for(i = 0; i < length; i++) {
var name = _.keys(testJSON.zones)[i];
var population = testJSON.zones[name].population.value;
if(name == "default") {
population = testJSON.zones[name].population.default.value;
}
tabledata[i] = {name, population};
}
console.log(tabledata);
return {zones: tabledata};
},
render: function() {
var rows = [];
this.state.zones.forEach(function(zone) {
rows.push(<tr Population={zone.population} Zone={zone.name} />);
}.bind(this));
console.log(rows);
return (
<table>
<thead>
<tr>
<th>Zone</th>
<th>Population</th>
</tr>
</thead>
<tbody>{rows}</tbody>
</table>
);
}
});
在这里您可以看到完整的console.log(tabledata) 行以及console.log(rows) 中的第一个对象
我希望看到如下图所示的内容。请注意,我希望区域列不可编辑输入,但人口可编辑:
【问题讨论】:
-
这是一个相当简洁的例子,在 React 中创建一个简单的表格组件。它帮助了我。 gist.github.com/ChaseWest/1935d08b156ae04b85d2
标签: javascript reactjs html-table jsonobject dynamic-tables