1

我正在使用 Office UI Fabric React 组件,并且正在尝试进行选择。

我想要的是获取有关选择了哪一行 DetailsList 的信息。

这是我迄今为止尝试过的(请记住,我使用的是javascript,而不是打字稿)。

        this._rowSelectIrf = new Selection({
            onSelectionChanged: () => this.setState({ selectionDetails: this._getSelectionDetails() })
        })

    _getSelectionDetails = () => {
        const selectionCount = this._rowSelectIrf.getSelectedCount();

        console.log(selectionCount + " counted")

        return `${selectionCount} items selected`;

    }

                <MarqueeSelection selection={this._rowSelectIrf}>
                    <DetailsList
                        onColumnHeaderClick={this.onColumnClick}
                        items={this.state.sortedItems}
                        setKey="items"
                        columns={this.state.columns}
                        layoutMode={DetailsListLayoutMode.fixedColumns}
                        selection={this._rowSelectIrf}
                        selectionPreservedOnEmptyClick={true}
                        ariaLabelForSelectionColumn="Toggle selection"
                        ariaLabelForSelectAllCheckbox="Toggle selection for all items"
                        onItemInvoked={this.onItemInvoked}
                        selectionMode="single"
                    />
                </MarqueeSelection>`

Selectin any row 实际上什么都不做。从 TS 转换为 JS 时,我可能会搞砸一些事情,因此非常感谢任何提示。提前谢谢了!

4

1 回答 1

0

通过将选择移动到状态来修复。不确定这是否是最好的方法,但只要它有效,我就不会抱怨。

selectCon: new Selection({
onSelectionChanged: () => this.setState({ selectionDetails: this._getSelectionDetails() })
}),
于 2018-10-31T16:08:20.347 回答