版本 react@17.0.2 ,所以不能使用ref
父组件
export class VenProductListTabs extends React.Component<any> { constructor(props) { super(props); this.state = {refreshFlag: true}; this.change=this.change.bind(this) this.onRef=this.onRef.bind(this) } onRef = (ref) => { this.child = ref } change(index){ this.child.refresh() } render() { return ( <Tabs onTabChange={this.change} > <Tab title="按照存货维护供应商"> <ProductMaintainVendor onRef={this.onRef} /> </Tab> <Tab title="按照供应商维护存货"> <VendorMaintainProduct onRef={this.onRef} /> </Tab> </Tabs> ); } }
子组件
componentDidMount生命周期中将this传回去,这样父组件就可以调用子组件的方法了
componentDidMount() { this.props.onRef(this);//将this传回去 this.init(); }
public refresh() { this.presenter.refresh()//子组件自己的方法 }