2017.12.07 React组件嵌套以及for循环渲染子组件

本文介绍了一个使用React实现的嵌套组件案例,包括父组件Examines如何通过for循环渲染多个相同的子组件OneTask。每个子组件展示了一条请假申请单的具体信息,并提供了审批操作按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.嵌套组件之父组件的定义:

export default class Examines extends Component{

    componentWillMount()  {
        console.log("aaaaaaaa");

        var data2={

            action:"queryTaskOfManager"
        };
        Common.getData(JSON.stringify(data2),function (ret) {
            alert(ret);
            var data3={
                name:ret.msg.name,

            };
            alert(data3);
        });

    }

    render(){
        var items = [];
        for (var i = 0; i < 10; i++) {
            items.push(<OneTask/>);            //这里父组件Examines,嵌套了子组件<OnTask/>
        }
        return(

            <div style={{ background: '#ECECEC', padding: '30px' }} onLoad={this.componentWillMount}>
            <Row gutter={16}>

                {items}
            </Row>
            </div>

        );

    }

}

2.嵌套组件之子组件的定义:

class OneTask extends React.Component{
    constructor(props) {

        super(props);
        this.state = {
            date: '',
            person:'',
            work:'',
            applyclass:'',
            otherinfo:'',
            applytime1:'',
            applytime2:'',
            timecount:''
        }
    }
    render(){
        return (
            <Col span={8}>
                <Card title="请假申请单" bordered={false}>
                    <p>申请人:{this.state.person}</p>
                    <p>申请时间:{this.state.date}</p>
                    <p>岗位:{this.state.work}</p>
                    <p>请假类型:{this.state.applyclass}</p>
                    <p>请假备注:{this.state.otherinfo}</p>
                    <p>请假时间:{this.state.applytime1}到,{this.state.applytime2}</p>
                    <p>共请假:{this.state.timecount}天</p>
                    <Row gutter={16}>
                        <Col span={12}>
                            <Button type="primary"  id="apply">批准</Button>

                        </Col>
                        <Col span={12}>
                            <Button type="danger" style={{marginLeft:30}} id="cancel">不批</Button>
                        </Col>
                    </Row>
                </Card>
            </Col>

        )}
}

3.for循环渲染子组件:

render(){
        var items = [];
        for (var i = 0; i < 10; i++) {
            items.push(<OneTask/>);
        }
        return(

            <div style={{ background: '#ECECEC', padding: '30px' }} onLoad={this.componentWillMount}>
            <Row gutter={16}>

                {items}
            </Row>
            </div>

        );

    }

 友情链接:https://www.ykziyuan.cn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小春熙子

你一毛我一毛,先富带后富

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值