在我的构造函数中,我将状态设置为
npm start http
我正在使用DateVal = "01/10/2018"
DateVal = Format(DateVal, "d-mmm-yy")
ActiveSheet.PivotTables("PivotTable41").PivotFields("A$Period Name"). _
ClearAllFilters
ActiveSheet.PivotTables("PivotTable41").PivotFields("A$Period Name"). _
CurrentPage = DateVal
通过onClick函数更新selectedProvider。但是,this.state.selectedProvider的值似乎没有更新名为this.state = {
selectedProvider: '',
selectedPort: '',
selectedNetwork: '',
networks: {
MainNet: {
disabled: false,
},
aTestNetwork: {
get disabled() {
return this.selectedProvider === 'aProvider';
},
},
}
的吸气剂函数返回的值。
我正在使用this.setState()
在下拉菜单中列出网络,我的目的是根据this.state.selectedProvider的值将其动态列出为已禁用或已启用,并且看起来像getters值仅生成一次。
如何获取要动态更新的getter的返回值?
编辑:能够使用setter正确地为this.selectedProvider分配一个值,并在调用getter之前调用它。
disabled
答案 0 :(得分:1)
由于getter中的this
引用了它的直接宿主对象,因此最好的选择是绑定上下文:
const self = this;
this.state = {
selectedProvider: '',
selectedPort: '',
selectedNetwork: '',
networks: {
MainNet: {
disabled: false
},
aTestNetwork: {
get disabled () {
return self.state.selectedProvider === 'aProvider';
}
}
}
};
// test:
console.log(this.state.networks.aTestNetwork.disabled);
this.state.selectedProvider = 'aProvider';
console.log(this.state.networks.aTestNetwork.disabled);