我有一个可观察的“集合”,用于计算可用的“指标”。用户从下拉菜单中选择“ activeIndicator”:
export default class ExplorerState {
@observable collection = "indicator-collection-1"
indicators = asyncComputed( ... )
//fetches based on collection, returns ["indicator-a", "indicator-b", "indicator-c", "indicator-d"];
@observable activeIndicator = "indicator-b"
}
但是现在我想添加两个条件:
A)当用户更改“集合”时,我希望activeIndicator重置为“未定义”,或者选择集合中的第一个可用指示器。在某种程度上,它现在就像@computed一样,除非被用户覆盖...?
B)我还想允许setState()(例如,从URL参数加载状态)。在这种情况下,我想确保类似的行为=如果状态包含“集合”和“ activeIndicator”,则用户应看到此指示器。如果状态仅包含“集合”,则应在检索“指标”之后派生指标。
我该如何实现?