【发布时间】:2019-07-17 02:42:46
【问题描述】:
我正在使用包含一些过滤器(多列表)的反应搜索构建仪表板,例如国家、状态等。我有一个表格,其中一些行在反应列表中呈现。
我有一个工具栏,我用它来更改桌子上的特定属性。例如,如果我需要将行的状态从挂起更改为挂起(此工具栏不是响应式搜索组件)。 根据状态更改调用的反馈,我如何重新渲染 reactiveBase 组件以更新计数并更新行以反映更新后的状态。
我尝试过的几个选项是 1)在状态更新发生时将MultiList过滤器值设置为随机值,并在状态更新完成时返回实际值以触发重新渲染。但这不会更新过滤器的计数。并且表格行的状态也不会持续更新。
2) 重新加载网页(这可行,但希望将其保存为最后的手段)
//反应js
<MultiList
componentId="stateFilter"
dataField="state"
value={this.state.stateValue}
onChange ={this.onChange}
...
/>
shouldComponentUpdate(nextProps, nextState) {
if(this.props.isStateSaving && !nextProps.isStateSaving) {
this.setState({ stateValue : [] });
} else {
this.setState({ stateValue : ['All States'] });
}
return true;
}
预期结果是保存状态时,过滤器和表行的计数应该更新以反映实际状态。
【问题讨论】:
标签: reactjs elasticsearch reactivesearch