Как настроить стиль заголовка столбца в списке сведений

Как изменить размер шрифта и заполнение ячейки заголовка в списке сведений. Я используюonRenderDetailsHeader prop для настройки рендеринга заголовка.

private renderDetailsHeader = (detailsHeaderProps: IDetailsHeaderProps) => {
    return (
      <DetailsHeader
        {...detailsHeaderProps}
        onRenderColumnHeaderTooltip={this.renderCustomHeaderTooltip}
      />
    );
  }

private renderCustomHeaderTooltip = (tooltipHostProps: ITooltipHostProps) => {
  return (
    <span
      style={{
        display: "flex",
        fontFamily: "Tahoma",
        fontSize: "10px",
        justifyContent: "left",
        paddingLeft: '0 px'
      }}
    >
      {tooltipHostProps.children}
   </span>
  );
}

Codepen

3 ответа

Решение

В IDetailsHeaderProps['columns'] или просто IColumn[] => IColumn имеет ключ headerClassName, где вы можете указать необходимые стили для каждого столбца.

Вы можете использовать интерфейс IDetailsColumnStyles для стилизации ячеек заголовков.

Пример:

       ...

  const headerStyle: Partial<IDetailsColumnStyles> = {
    cellTitle: {
      color: theme.palette.orange,
    }
  }

  const columns: IColumn[] = [
    { styles: headerStyle, key: 'name', name: 'Name', fieldName: 'name', minWidth: 100,},

...

Стиль строки:

...

      const renderRow: IDetailsListProps['onRenderRow'] = props => {
  const rowStyles: Partial<IDetailsRowStyles> = {
    root: {
      borderBottomColor: theme.semanticColors.buttonBorder,
      fontSize: theme.fonts.medium.fontSize,
    },
    cell: { paddingLeft: 0, },
  }
  if (!props) return null
  return <DetailsRow {...props} styles={rowStyles} />
}

return (
  <DetailsList
    compact
    items={items}
    columns={columns}
    selectionMode={SelectionMode.none}
    layoutMode={DetailsListLayoutMode.justified}
    constrainMode={ConstrainMode.horizontalConstrained}
    onRenderRow={renderRow}
    onRenderDetailsHeader={renderHeader}
    onRenderItemColumn={renderItemColumn}
    setKey="set"
    ariaLabelForSelectionColumn="Toggle selection"
    ariaLabelForSelectAllCheckbox="Toggle selection for all items"
    checkButtonAriaLabel="Row Checkbox"
  />
)

...

Другие вопросы по тегам