在 Office UI Fabric 中设置“PivotItem”的宽度

Set width for `PivotItem` in Office UI Fabric

我正在使用 Office UI Fabric 中的 PivotPivotItem 在选项卡中显示我的内容。 Currently when the tab renders, all the tabs are left aligned.

我需要以相同的宽度显示标签,以便它们占据页面的 100% 宽度。

下面是 Pivot 的代码。

   <Pivot linkFormat={PivotLinkFormat.tabs} linkSize={PivotLinkSize.large} styles={pivotStyles}>
      <PivotItem headerText="Foo">
        <Label>Pivot #1</Label>
      </PivotItem>
      <PivotItem headerText="Bar">
        <Label>Pivot #2</Label>
      </PivotItem>
      <PivotItem headerText="Bas">
        <Label>Pivot #3</Label>
      </PivotItem>
      <PivotItem headerText="Biz">
        <Label>Pivot #4</Label>
      </PivotItem>
    </Pivot>

下面是我想出的将 styles 添加到 Pivot 的代码。但是我们没有 PivotItemstyles 属性。

const pivotStyles:IPivotStyles = {
  link: {},
  linkContent: {},
  linkIsSelected: {},
  text: {},
  icon: {},
  count: {},
  root: {
    //background: DefaultPalette.greenDark
  }
};

如何将样式应用于 PivotItem 以便我可以为其添加宽度?

PivotItem可以通过Pivot.styles调整样式属性,至少可以设置以下样式:

  • link
  • linkContent
  • linkIsSelected

例子

以下示例演示如何为枢轴 link 设置固定 width:

const pivotStyles: Partial<IStyleSet<IPivotStyles>> = {
  link: {
    width: "300px"
  },
  linkIsSelected: {
    width: "300px"
  }
};

哪里

const tabsItems = [
  {
    content: "Pivot #1",
    header: "My Files"
  },
  {
    content: "Pivot #2",
    header: "Recent"
  },
  {
    content: "Pivot #3",
    header: "Shared with me"
  }
];

export const PivotBasicExample: React.FunctionComponent = () => {
  return (
    <Pivot styles={pivotStyles}>
      {tabsItems.map((tabItem,idx) => (
        <PivotItem key={idx} headerText={tabItem.header}>
          <Label>{tabItem.content}</Label>
        </PivotItem>
      ))}
    </Pivot>
  );
};