• 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);
  • 相关阅读:
    细菌觅食优化算法
    windows文件名编码格式测试结果及猜想
    Exception
    maven创建web项目注意事项
    Majaro安装卡在Fixing hardcoded icons原因
    gnome更改ibus输入法候选词字体大小
    MariaDB用zip包安装
    JAVA获取时间戳
    自增不连续解决方案
    WEB项目目录结构
  • 原文地址:https://www.cnblogs.com/0828-li/p/11011601.html
Copyright © 2020-2023  润新知