照例先上代码,
getPlanDatas(){
const len = 7;
const rowNum = 2;
let res = [];
for(let i=0;i<rowNum;i++){
res.push(<Row gutter={16}>);
//this.props.reps.data 是一个data组成的数组
let data = this.props.reps.data.slice(i*3, (i+1)*3); // 3个为一组取值,进行二次循环
console.log('data --->', data);
res.push(data.map((item, index)=>{
<Col span={8}>
<div className="aaa">
item.name
</div>
<div className="bbb">
item.content
</div>
</Col>
}))
res.push(</Row>);
}
console.log('res--->',res);
return(
res
)
}
<Row gutter={16}>
<Col span={8}>
<div className="aaa">
111
</div>
<div className="bbb">
222
</div>
</Col>
<Col span={8}>
<div className="aaa">
111
</div>
<div className="bbb">
222
</div>
</Col>
<Col span={4}>
<div className="aaa">
111
</div>
<div className="bbb">
222
</div>
</Col>
</Row>
如何修改代码1
可以实现直接return出 代码2
的效果?
给个类似的例子也可以:), 网上看到的 都是 push一层的数据,没有2次push。
主要问题是在for循环中,第一次push后的值都变成了了 children的值,而不是进行运算。
for(let i=0;i<rowNum;i++){
}
react中,组件不是通过字符串拼接组装的