Aww yeah, Material-UI v4 is here!
TableSortLabel

TableSortLabel API

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

import TableSortLabel from '@material-ui/core/TableSortLabel';

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

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 enum: 'asc' |
 'desc'
'desc' The current sort direction.
hideSortIcon bool false Hide sort icon when active is false.
IconComponent Component ArrowDownwardIcon Sort icon to use.

Any other properties supplied will be spread to the root element (ButtonBase).

CSS

You can override all the class names injected by Material-UI thanks to the classes property. This property accepts the following keys:

Name Description
root Styles applied to the root element.
active Styles applied to the root element if active={true}.
icon Styles applied to the icon component.
iconDirectionDesc Styles applied to the icon component if direction="desc".
iconDirectionAsc Styles applied to the icon component if direction="asc".

Have a look at overriding with classes section and the implementation of the component for more detail.

If using the overrides key of the theme, you need to use the following style sheet name: MuiTableSortLabel.

Inheritance

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

Demos