Я пытаюсь заполнить параметр options компонента Dropdown из состояния, но в Dropdown ничего не отображается, потому что состояние пусто при отображении Dropdown.
вот как я создаю государство:
export interface IListState {
views: IView[];
}
и вот как я его инициализирую в конструкторе:
this.state = {
views: []
};
Тогда в componentDidMount:
public componentDidMount(): void {
this.props.provider.getViews().then((views: IView[]) => {
this.setState({
views: views
})
});
}
И, наконец, в рендере я использую раскрывающийся список следующим образом:
<Dropdown
label="Disabled example with defaultSelectedKey"
defaultSelectedKey=""
options={this.state.views}
disabled={false}
/>
Проблема в том, что когда веб-часть отображается в консоли, я вижу, что состояние пустое, а затем оно заполняется данными, но раскрывающийся список уже был отображен, поэтому он не получает данные.
Это то, что показывает консоль:
Как сделать так, чтобы раскрывающийся список считывал состояние, чтобы получить данные для свойства опции?
ОБНОВЛЕННЫЙ КОД:
Я обновил код и установил раскрывающийся список в методе, и вот как я его вызываю из render ():
<div>
{ this._renderDropdown() }
</div>
и вот как выглядит метод:
private _renderDropdown(): any {
const {views} = this.state;
console.log(views);
if(views.length > 0) {
return(
<Dropdown
label="Disabled example with defaultSelectedKey"
defaultSelectedKey=""
options={views}
disabled={false}
/>
)
}
}
Но результат точно такой же :-(
С наилучшими пожеланиями
Америко