• 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);
  • 相关阅读:
    JS 逻辑运算符&&与||的运算
    Jquery on("click") 方法绑定事件后执行多次解决办法
    java的web开发使用struts2/springMVC和spring框架理解
    HTTPClient
    eclipse中配置tomcat内存大小
    杀掉window占用端口
    Unirest
    乐观锁
    自定义标签
    xss和csrf攻击
  • 原文地址:https://www.cnblogs.com/0828-li/p/11011601.html
Copyright © 2020-2023  润新知