如何使OverflowSet按钮执行?

问题描述 投票:0回答:1

我如何在Office UI面料溢出的按钮做一些事情。从qazxsw POI的例子具有永远不会触发onClick事件。

https://developer.microsoft.com/en-us/fabric#/components/overflowset

click事件永远不会触发。我如何使用按钮?

office-ui-fabric
1个回答
1
投票

由于您提供的是import * as React from 'react'; import { BaseComponent, css } from 'office-ui-fabric-react/lib/Utilities'; import { CommandBarButton } from 'office-ui-fabric-react/lib/Button'; import { SearchBox } from 'office-ui-fabric-react/lib/SearchBox'; import { IOverflowSetItemProps, OverflowSet } from 'office-ui-fabric-react/lib/OverflowSet'; import * as stylesImport from './OverflowSet.Example.scss'; const styles: any = stylesImport; export class OverflowSetCustomExample extends BaseComponent<any, any> { public render(): JSX.Element { return ( <OverflowSet items={[ { key: 'upload', name: 'Upload', icon: 'Upload', onClick: () => { console.log("this never happens"); } } ]} overflowItems={[]} onRenderOverflowButton={this._onRenderOverflowButton} onRenderItem={this._onRenderItem} /> ); } private _onRenderItem(item: IOverflowSetItemProps): JSX.Element { if (item.onRender) { return item.onRender(item); } return <CommandBarButton iconProps={{ iconName: item.icon }} menuProps={item.subMenuProps} text={item.name} />; } private _onRenderOverflowButton(overflowItems: any[] | undefined): JSX.Element { return ( <CommandBarButton className={css(styles.overflowButton)} menuIconProps={{ iconName: 'More' }} menuProps={{ items: overflowItems! }} /> ); } } 回调,你正在接管组件的默认渲染方法。因此,你必须应用onRenderItem直接支撑自己:

onClick
© www.soinside.com 2019 - 2024. All rights reserved.