我正在使用 Fabric/Fluent UI DetailsList 组件构建一个 SPFx Webpart,并且我正在尝试根据从选择器中选择的安全组添加动态列(这可能会改变,但仍将是一个数组)。我找到了一些可以做到这一点的代码,并将其应用到我的项目中,但是 gulp 服务无法将 webpart 安装在工作台中。
private _columns: IColumn[] = [
{
key: 'filepath',
name: 'File path',
onRender: item => (
// tslint:disable-next-line:jsx-no-lxambda
<Link key={item} onClick={() => this._navigate(item)}>
{item}
</Link>
),
} as IColumn,
];
private _addcolumns(_columns:IColumn[]): IColumn[] {
for (let user of this.props.people) {
_columns.push({
key: 'permissionset',
name: 'Permission',
onRender: item => (<DropPermissionItem/>)
} as IColumn,
)
}
return _columns
};
...
<DetailsList
key={this.state.key}
items={this.state.items}
columns={this._addcolumns(this._columns)}
onItemInvoked={this._navigate}
initialFocusedIndex={this.state.initialFocusedIndex}
ariaLabelForSelectionColumn="Toggle selection"
ariaLabelForSelectAllCheckbox="Toggle selection for all items"
checkButtonAriaLabel="Row checkbox"
/>
DetailsList使用_addColumns并传入_columns以附加附加列。有什么我想念的还是有更好的方法?