Icon Button

分类:

other

日期:

2022-1-28

标签:

chakra

IconButton composes the Button component except that it renders only an icon.

Since IconButton only renders an icon, you must pass the aria-label prop, so screen readers can give meaning to the button.

Import#

import { IconButton } from '@chakra-ui/react';

Usage#

<IconButton aria-label="Search database" icon={<SearchIcon />} />

Button Colors#

The IconButton component accepts most of the props from the Button component, so we can use colorScheme prop to change the color of the button.

<IconButton
colorScheme="blue"
aria-label="Search database"
icon={<SearchIcon />}
/>

Button Sizes#

Like the Button component, pass the size prop to change the size of the button.

<IconButton
colorScheme="teal"
aria-label="Call Segun"
size="lg"
icon={<PhoneIcon />}
/>

Button Variants#

Like the Button component, pass the variant prop to change the style of the button.

<IconButton
variant="outline"
colorScheme="teal"
aria-label="Send email"
icon={<EmailIcon />}
/>

With custom icon#

You can also use icons from popular libraries like react-icons and just pass it into the button.

<IconButton
variant="outline"
colorScheme="teal"
aria-label="Call Sage"
fontSize="20px"
icon={<MdPhone />}
/>

Props#

aria-label

A11y: A label that describes the button

string

colorScheme

"whiteAlpha" | "blackAlpha" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram"
"gray"

icon

The icon to be used in the button.

React.ReactElement

isActive

If true, the button will be styled in its active state.

boolean

isDisabled

If true, the button will be disabled.

boolean

isLoading

If true, the button will show a spinner.

boolean

isRound

If true, the button will be perfectly round. Else, it'll be slightly round

boolean

size

"lg" | "md" | "sm" | "xs"
"md"

spinner

Replace the spinner component when isLoading is set to true

React.ReactElement

variant

"ghost" | "outline" | "solid" | "link" | "unstyled"
"solid"
footer logo

© 2022 Designed with chakra ui. Powered by contentlayerjs and nextjs etc. All rights reserved

TwitterYouTubeGithub