zoukankan      html  css  js  c++  java
  • React父组件调用子组件

    通点击父组件按钮调用子组件的方法

    父组件:

    import React, {Component} from 'react';
    import ChildComponent from './child';
    export default class ParentComponent extends Component {
        render() {
            return(
                <div>
                    <ChildComponent onRefChild={this.onRefChild} />
                    <button onClick={this.clickParent.bind(this)} >{'点击'}</button>
                </div>
            )
        }
    
        onRefChild = (ref) => {
            this.child = ref
        }
    
        clickParent = (e) => {
            this.child.childMethods()
        }
    
    }

    子组件:

    import React, {Component} from 'react';
    export default class ParentComponent extends Component {
        componentDidMount(){
            this.props.onRefChild(this)
        }
    
        childMethods = () => alert('子组件被执行了')
    
        render() {
            return (<div>我是子组件</div>)
        }
    
    }

     另外一种情况,子组件使用了 'rc-form';

    父组件:

    import React from 'react';
    import ChildComponent from './child'
    class Index extends React.Component {
        startCreat = () => {
            // 获取到子组件的值
            let values = this[`formRef`].getItemsValue();
        }
        render(){
            return (
                <div>
                    <ChildComponent wrappedComponentRef={(form) => this[`formRef`] = form}/>
                    <button onClick={this.startCreat.bind(this)}>{'点击获取子组件值'}</button>
                </div>
            )
        }
    }
    export default Index;

    子组件:

    import React from 'react';
    import { createForm } from 'rc-form';
    class ChildComponent extends React.Component {
        // 父组件获取form内值
        getItemsValue = () => {
            const values= this.props.form.getFieldsValue(); 
            return values;
        }
        render(){
            const { getFieldProps } = this.props.form;
            return (
                <div
                    {...getFieldProps('key',{
                        initialValue: 1
                })}
                >
                </div>
            )
            
        }
    }
    export default createForm()(ChildComponent);
  • 相关阅读:
    Java类与对象
    读《大道至简——团队缺乏的不只是管理》有感
    java课后作业
    c++ 创建单项链表
    c++ 结构指针和双向链表
    c++ 自定义数据结构运用
    c++ 时间函数和结构化数据
    c++ 结束程序的几种方式
    c++ main函数的参数
    c++ 参数个数可变的函数
  • 原文地址:https://www.cnblogs.com/0828-li/p/11011601.html
Copyright © 2011-2022 走看看