【发布时间】:2019-12-31 05:59:38
【问题描述】:
我正在尝试在 SPFx React webparts 项目中的 Office UI Fabric 的 DetailsList 上显示共享点查找值,但我无法做到。 谁能帮我实现这个?谢谢。
item值格式如下图
[
{
Id : 0,
Title : "test0",
Body : {
Body_p1: "test0_p1",
Body_p2: "test0_p2"
},
},
{
Id : 1,
Title : "test1",
Body : {
Body_p1: "test1_p1",
Body_p2: "test1_p2"
}
}
]
我想使用这个控件。 https://developer.microsoft.com/en-us/fabric#/controls/web/detailslist
我想这样显示上面的数据。
|Id | Title | Body
|0 | test0 | test0_p1
|1 | test1 | test1_p1
或
|Id | Title | Body
|0 | test0 | test0_p2
|1 | test1 | test1_p2
这是用于在线共享点的 SPFx webparts react 项目。
我厌倦了打击代码,但 Body.Body_p1 和 Body.Body_p2 值没有显示。
注意。项目值在 {items} 中,我按照此说明进行操作。 https://developer.microsoft.com/en-us/fabric#/controls/web/detailslist/basic
export interface IListItem{
Id: number;
Title: string;
Body : {
Body_p1: string;
Body_p2: string;
};
}
export interface IReactExState{
items: IListItem[];
}
export default class ReactEx extends React.Component<IReactExProps, IReactExState>{
//some code here
private _columns: IColumn[];
if(/*conditions*/){
this._columns = [
{ key: 'Id', name: 'Id', fieldName: 'Id', minWidth: 100, maxWidth: 200, isResizable: true },
{ key: 'Title', name: 'Title', fieldName: 'Title', minWidth: 200, maxWidth: 400, isResizable: true },
{ key: 'Body', name: 'Body', fieldName: 'Body.Body_p1', minWidth: 200, maxWidth: 400, isResizable: true },
];
}
else{
this._columns = [
{ key: 'Id', name: 'Id', fieldName: 'Id', minWidth: 100, maxWidth: 200, isResizable: true },
{ key: 'Title', name: 'Title', fieldName: 'Title', minWidth: 200, maxWidth: 400, isResizable: true },
{ key: 'Body', name: 'Body', fieldName: 'Body.Body_p2', minWidth: 200, maxWidth: 400, isResizable: true },
];
}
public render(): React.ReactElement<IReactExProps>{
return(
{/*some code here*/}
<MarqueeSelection selection={this._selection}>
<DetailsList
items={items}
columns={this._colmns}
setKey="RequestID"
layoutMode={DetailsListLayoutMode.justified}
selection={this._selection}
selectionPreservedOnEmptyClick={true}
ariaLabelForSelectionColumn="Toggle selection"
ariaLabelForSelectAllCheckbox="Toggle selection for all items"
checkButtonAriaLabel="Row checkbox"
onItemInvoked={this._onItemInvoked}
/>
</MarqueeSelection>
{/*somec ode here*/}
);
}
【问题讨论】:
标签: reactjs sharepoint office-ui-fabric spfx