Skip to content

TableSortLabel API

The API documentation of the TableSortLabel React component. Learn more about the props and the CSS customization points.

Import

import TableSortLabel from '@material-ui/core/TableSortLabel';
// or
import { TableSortLabel } from '@material-ui/core';

You can learn more about the difference by reading this guide.

A button based label for placing inside TableCell for column sorting.

Component name

The MuiTableSortLabel name can be used for providing default props or style overrides at the theme level.

Props

Name Type Default Description
active bool false If true, the label will have the active styling (should be true for the sorted column).
children node Label contents, the arrow will be appended automatically.
classes object Override or extend the styles applied to the component. See CSS API below for more details.
direction 'asc'
| 'desc'
'asc' The current sort direction.
hideSortIcon bool false Hide sort icon when active is false.
IconComponent elementType ArrowDownwardIcon Sort icon to use.

The ref is forwarded to the root element.

Any other props supplied will be provided to the root element (ButtonBase).

CSS

Rule name Global class Description
root .MuiTableSortLabel-root Styles applied to the root element.
active .MuiTableSortLabel-active Pseudo-class applied to the root element if active={true}.
icon .MuiTableSortLabel-icon Styles applied to the icon component.
iconDirectionDesc .MuiTableSortLabel-iconDirectionDesc Styles applied to the icon component if direction="desc".
iconDirectionAsc .MuiTableSortLabel-iconDirectionAsc Styles applied to the icon component if direction="asc".

You can override the style of the component thanks to one of these customization points:

If that's not sufficient, you can check the implementation of the component for more detail.

Inheritance

The props of the ButtonBase component are also available. You can take advantage of this behavior to target nested components.

Demos