在使用tabs使用子模块中数据请求只执行第一次点击该头部时候,后面多次返回之后执行数据无效等问题
可以通过ref对子模块方法进行调用
MenuTab=(e)=>{
console.log(e);
this.setState({
tabDeafult:e
})
window.sessionStorage.setItem("rid",e);
setTimeout(() => {
this.refs.RoleDetailItemTop.getTopData()
// this.refs.RoleDetailItemBottom.getPermitsFunc()
// this.refs.RoleDetailItemBottom.getRoleList()
},0);//通过延时处理
}
<Tabs defaultActiveKey={tabDeafult} onChange={this.MenuTab}>
{tabList.map(function(item, index) {
return (
<TabPane tab={item.name} key={item.rid}>
<RoleDetailItemTop currentId={tabDeafult} ref="RoleDetailItemTop"/>
<RoleDetailItemBottom currentId={tabDeafult} ref="RoleDetailItemBottom"/>
</TabPane>
)
})
}
</Tabs>