我有一个由 SPO 列表填充的下拉列表:
<Dropdown style={{width: '300px'}}
selectedKey={this.state.SelectedUIGFac}
onChange={this._onUIGFacilitatorChange}
placeholder='Select...'
options={this.state.UIGFacilitators}
defaultSelectedKey={this.state.SelectedUIGFac}
>
</Dropdown>
private _onUIGFacilitatorChange = (ev: React.FormEvent<HTMLDivElement>, option?: IDropdownOption, index?: number) => {
this.setState({
SelectedUIGFac: option.key,
UIGFacilitator: option.text,
});
}
这很好地填充了所有数据。它还向 SPO 列表提交罚款。问题是当我尝试将下拉菜单设置为 SPO 列表中选择的内容时(例如,用户打开表单,它应该将下拉菜单设置为 SPO 列表中的内容)。
这是填充下拉列表的函数:
public _getUIGFacilitators = () => {
sp.web.lists.getByTitle("CiToolUIGFacilitators").items.select("Title", "UIGFacilitator/Title", "UIGFacilitator/ID", "UIGFacilitator/FirstName").expand("UIGFacilitator/Title").get()
.then((items: any[]) => {
const mappy = items.map((Fac, index) => { return { key: index, text: Fac.UIGFacilitator.Title};});
console.log(mappy);
this.setState({
UIGFacilitators: mappy
});
});
}
SPO 中的列是单行文本,如上所述,它成功提交,但没有将下拉菜单设置为 SPO 列中的内容。