首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在DefaultButton中更改项目容器的宽度?

如何在DefaultButton中更改项目容器的宽度?
EN

Stack Overflow用户
提问于 2019-11-09 18:45:49
回答 1查看 513关注 0票数 0

您好,我正在使用DefaultButton控制从办公室-ui-面料,并希望更改容器的宽度,其中包含菜单项。

就像在下面的例子中,DefaultButton包含两个项目,所以我想改变显示两个项目的容器的宽度。

代码语言:javascript
复制
<DefaultButton
      text="New item"
      iconProps={addIcon}
      menuProps={menuProps}
      // Optional callback to customize menu rendering
      menuAs={_getMenu}
      // Optional callback to do other actions (besides opening the menu) on click
      onMenuClick={_onMenuClick}
      // By default, the ContextualMenu is re-created each time it's shown and destroyed when closed.
      // Uncomment the next line to hide the ContextualMenu but persist it in the DOM instead.
      // persistMenu={true}
      allowDisabledFocus
      disabled={disabled}
      checked={checked}
    />
EN

回答 1

Stack Overflow用户

发布于 2019-11-10 18:16:16

可以通过menuProps.styles property覆盖按钮菜单样式,特别是可以利用以下属性:

作为所有菜单的父对象的容器的

  • container样式所有ContextualMenus

的根元素的items

  • root基本样式

示例

代码语言:javascript
复制
import { ContextualMenu, IContextualMenuProps } from "office-ui-fabric-react";
import { DefaultButton, IButtonProps } from "office-ui-fabric-react/lib/Button";
import * as React from "react";

export class ButtonDefaultExample extends React.Component<IButtonProps, {}> {
  public render(): JSX.Element {

    return (
      <div>
        <DefaultButton
          data-automation-id="test"
          allowDisabledFocus={true}
          iconProps={{ iconName: "Add" }}
          menuAs={this.getMenu}
          text="New"
          // tslint:disable-next-line:jsx-no-lambda
          onMenuClick={ev => {
            // tslint:disable-next-line:no-console
            console.log(ev);
          }}
          menuProps={{
            items: [
              {
                iconProps: { iconName: "Mail" },
                key: "emailMessage",
                text: "Email message"
              },
              {
                iconProps: { iconName: "Calendar" },
                key: "calendarEvent",
                text: "Calendar event"
              }
            ],
            styles: {
              root: {
                width: "540px"
              }
            }
          }}
        />
      </div>
    );
  }

  private getMenu = (menuProps: IContextualMenuProps): JSX.Element => {
    // Customize contextual menu with menuAs
    return <ContextualMenu {...menuProps} />;
  };
}

结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58778503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档