【发布时间】:2018-11-27 06:58:56
【问题描述】:
我有一个父组件,它有一个模态对话框作为子组件,我在父组件中有一个关闭对话框的函数。
public _setShowTemplatePanel = (showTemplatePanel: boolean): (() => void) => {
return (): void => {
this.setState({ showTemplatePanel });
};
}
在子组件中,我有保存表单的按钮,然后我想从父组件调用该函数。下面的代码运行良好:
<PrimaryButton onClick={this.props.setShowTemplatePanel(false)}>Save </PrimaryButton>
但是如果想从子组件内部的函数调用它不起作用,我需要在调用父函数之前执行一些操作。
public _onClosePanel = () => {
this.props.setShowTemplatePanel(false);
}
<DefaultButton onClick={()=>this._onClosePanel}>save</DefaultButton>
【问题讨论】:
-
究竟是什么问题,一个错误?
-
你可以试试
this._onClosePanel()而不是this._onClosePanel -
似乎没有问题,当我单击按钮时,onClosePanel 会触发,但此行不起作用:this.props.setShowTemplatePanel(false);我也试过 this._onClosePanel(),但没有运气!
-
你在构造函数中绑定方法了吗?
this. _onClosePanel=this. _onClosePanel .bind(this); -
哪个是父级,哪个是子级?从您的示例中并不清楚。
标签: reactjs