我在单页网页应用程序中工作。在页面中我有一个下拉列表,所以根据下拉值,我将加载网格中的数据。网格数据来自jqgrid组件,因此有时网格数据仍在加载,用户更改下拉列表,因此以前的服务器请求未完成,用户向服务器发出新请求,因此我想要解决此问题。所以我决定禁用下拉列表,直到数据没有完全加载,所以我在一个值为false的状态下创建一个变量(第一次下拉列表被禁用),当加载数据时,将其设置为true。但问题是我无法更新孩子的父母状态。
我创建了一个名为
的函数handleChange(e)
{
this.setState({ isDisabled: false });
}
并且在我的状态中我将isDisabled值设置为true。即默认情况下它是禁用的。在回调中的子组件jqwidget数据适配器中,我调用父函数。
let dataAdapter = new jqx.dataAdapter(currentComponent.state.source,{ formatData: function (data) { },
loadComplete: function (data)
{
this.props.handler(false)
//console.log(data);
}.bind(this)
我没有填写完整的代码,您可以查看代码段here。所以如何更新来自子代的父状态。