我在 Sharepoint webpart 中有一个FluentUI Dropdown 组件,它的行为很奇怪,它的定义如下:
<Dropdown
defaultSelectedKey={new Date().getMonth()}
options={getMonthSelection()}
styles={dropdownStyles}
onChange={this.handleTimePeriodChange}
selectedKey={this.state.month}
/>
当 onChange 事件触发时,它会调用以下函数:
private handleTimePeriodChange(event, option, index) {
this.setState({
month: option.key
});
}
除了下拉 UI 元素没有改变以反映新的选择之外,一切都很好。如果我删除对 setState() 的调用,则 UI 元素会更新以反映选择,但状态不会更新。
谁能看到我哪里出错了,是否有办法在不破坏 UI 元素的情况下更新状态属性?