Skip to content

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 elementType ArrowDownwardIcon Sort icon to use.

The ref is forwarded to the root element.

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

CSS

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

Name Description
root Styles applied to the root element.
active Pseudo-class 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 the overriding styles 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.

Notes

The component is fully StrictMode compatible.

Demos