ReactJs - 列表组件中的嵌套列表组件
ReactJs - nested list component inside list component
您好,我想在列表组件中嵌套一个列表组件。第一个列表是一个选项组列表,其每个项目都有一个选项列表。我认为问题来自嵌套的指标行。我找不到同样的例子。
var IndicatorRow = React.createClass({
render: function() {
var indicators = [];
for (var key in this.props.indicatorsOfGroup) {
indicators.push( <option value={key} > {this.props.indicatorsOfGroup[key]}</option> );
}
return {indicators} ;
}
});
var IndicatorGroup = React.createClass({
render : function(){
var indicatorsGroup = [];
for (var key in this.props.indicatorsGroups) {
var indicatorsOfGroup = this.props.indicatorsGroups[key].indicators;
indicatorsGroup.push(
<optgroup label={key}>
<IndicatorRow indicatorsOfGroup={indicatorsOfGroup}/>
</optgroup> );
}
return ( <select>
{indicatorsGroup}
</select> );
}
});
ReactDOM.render(
<form>
<fieldset className="form-group">
<IndicatorGroup indicatorsGroups={indicatorsSelected}/>
</fieldset>
</form>
,
document.getElementById('indicators')
);
我的数据结构如下
var indicatorsSelected = {
"Economy & Growth": {
"indicators": {
"id1": "Indicator 1",
"id2": "Indicator 2"
}
},
"Energy & Mining": {
"indicators": {
"id1": "Indicator 1",
"id1": "Indicator 2"
}
},
"Environment": {
"indicators": {
"id1": "Indicator 1",
"id2": "Indicator 2"
}
},
{...}
};
我将不胜感激任何帮助
2 个问题:
- 不能从
render
返回数组 - 每个数组子项都需要一个
key
属性
像这样:
var IndicatorRow = React.createClass({
render: function() {
var indicators = [];
for (var key in this.props.indicatorsOfGroup) {
indicators.push( <option key={key} value={key} > {this.props.indicatorsOfGroup[key]}</option> );
}
return (<optgroup label={key}>
{indicators}
</optgroup>);
}
});
var IndicatorGroup = React.createClass({
render: function(){
var indicatorsGroup = [];
for (var key in this.props.indicatorsGroups) {
var indicatorsOfGroup = this.props.indicatorsGroups[key].indicators;
indicatorsGroup.push(
<IndicatorRow key={key} indicatorsOfGroup={indicatorsOfGroup}/>
);
}
return (<form>
<fieldset className="form-group">
<select>
{indicatorsGroup}
</select>
</fieldset>
</form>);
}
});
ReactDOM.render(
<IndicatorGroup indicatorsGroups={indicatorsSelected}/>,
document.getElementById('indicators')
);
相关文章:
- 通过格式化将jquery移动组件动态添加到列表视图中
- 如何创建独立于数组更新的组件列表
- ReactJs - 列表组件中的嵌套列表组件
- react使用扩散属性渲染组件列表
- Angular2中列表组件的自定义模板(不包含ng内容的transclusion)
- 单击“子组件”将关闭打开的列表
- 使用字符串元素列表作为 Select2 组件的源
- Jquery 标记列表生成器组件
- 反应如何在组件中正确删除列表器将卸载,为什么我需要在构造函数中绑定
- 如何使用react.js返回多个列表组件
- Sencha Touch:数据视图上的组件,看起来像列表组头
- 店面触摸列表项中的用户定义组件
- Angular 2中不同组件的列表
- 寻找多选择,可滚动,列表组件的引导
- 为子组件的每个实例传递两个不同的数据列表
- Angular 2从父组件中更新子组件的类列表
- ExtJs:最佳列表组件?网格的功能太多了
- finddomnode(组件)方法列表
- 用于二级列表的HTML组件
- HTML/Javascript组件,允许用户从项目列表中选择并排序他们的选择