Skip to content
Docs
Components
Inputs
Checkbox

Checkbox

Component to render a checkbox input.

Import

import { Checkbox, CheckboxGroup } from 'react-native-ficus-ui';

Usage

Simple checkbox

EDITABLE EXAMPLE
<VStack spacing="md">
  <Checkbox>Option 1</Checkbox>
  <Checkbox colorScheme="red" defaultChecked>Option 1</Checkbox>
</VStack>

Custom icon

EDITABLE EXAMPLE
<VStack spacing="md">
  <Checkbox colorScheme="purple" defaultChecked icon={<Icon name="flash-outline" />}>Option 1</Checkbox>
</VStack>

Checkbox sizes

EDITABLE EXAMPLE
<VStack spacing="md">
  <Checkbox size="xs">Option 1</Checkbox>
  <Checkbox size="sm">Option 2</Checkbox>
  <Checkbox size="md">Option 3</Checkbox>
  <Checkbox size="lg">Option 4</Checkbox>
</VStack>

Checkbox disabled

EDITABLE EXAMPLE
<HStack spacing="md">
  <Checkbox isDisabled>
    Option 1
  </Checkbox>
  <Checkbox isDisabled defaultChecked>
    Option 1
  </Checkbox>
</HStack>

Checkbox group

EDITABLE EXAMPLE
<CheckboxGroup colorScheme="green" defaultValue={[2, 3]}>
  <VStack spacing="sm">
    <Checkbox value={1}>Option 1</Checkbox>
    <Checkbox value={2}>Option 2</Checkbox>
    <Checkbox value={3}>Option 3</Checkbox>
    <Checkbox value={4}>Option 4</Checkbox>
  </VStack>
</CheckboxGroup>

Custom render

EDITABLE EXAMPLE
<CheckboxGroup flexDirection="row">
  <HStack spacing="sm">
    {["Option 1", "Option 2", "Option 3"].map((item) => (
      <Checkbox value={item}>
        {({ isChecked }) => (
          <Box
            bg={isChecked ? "blue.600" : "blue.100"}
            px="xl"
            py="md"
            mr="md"
            borderRadius="full"
          >
            <Text color={isChecked ? "white" : "gray.800"}>{item}</Text>
          </Box>
        )}

      </Checkbox>
    ))}
  </HStack>
</CheckboxGroup>

Props

Checkbox props

Extends every TouchableOpacity props.

colorScheme

The colorScheme property, will define checkbox color.

TypeRequiredDefault
stringNo

defaultChecked

Boolean to indicate if checkbox should be checked by default.

TypeRequiredDefault
booleanNo

isChecked

Boolean to indicate if checkbox is checked.

TypeRequiredDefault
booleanNo

isDisabled

Boolean to indicate if checkbox is disabled.

TypeRequiredDefault
booleanNo

value

The value to be used in the checkbox.

TypeRequiredDefault
(value: string | number) => voidNo

onChange

Function called when checked status changes on checkbox, value is returned as param.

TypeRequiredDefault
(value: string | number) => voidNo

icon

Custom icon component to replace default checkbox icon.

TypeRequiredDefault
React.ReactNodeNo

size

Size of checkbox.

TypeRequiredDefault
number | 'xs' | 'sm' | 'md' | 'lg'No

CheckboxGroup props

value

The value of the checkbox group.

TypeRequiredDefault
(value: string | number)[] => voidNo

onChange

Function called when checked status changes on any checkbox children, value is returned as param.

TypeRequiredDefault
(value: (string | number)[]) => voidNo

defaultValue

Default value for the checkbox group.

TypeRequiredDefault
(string | number)[]No

colorScheme

The colorScheme property, will define group checkboxs color.

TypeRequiredDefault
stringNo