Giter Club home page Giter Club logo

@react-native-community/checkbox

React Native Checkbox CI Supports Android, iOS and Windows MIT License npm version Lean Core Extracted

React Native component for Checkbox

Android Example IOS Example Windows Example

Support

RN version Checkbox version
> 0.60 & < 0.62 >= 0.3 (Support IOS from 0.4)
< 0.60 0.2 (only Android)
>= 0.62 to run on Windows 0.5

Getting started

yarn add @react-native-community/checkbox

or

npm install @react-native-community/checkbox --save

On iOS, install cocoapods:

npx pod-install

On Windows with RNW 62 or earlier, you need to manually link the module (on RNW 63 and later autolinking will work).

Mostly automatic installation

From react-native >= 0.60 autolinking will take care of the link (on iOS and Android)

for react-native =< 0.59.X

react-native link @react-native-community/checkbox

Manual installation

Manually link the library on Android

android/settings.gradle

include ':react-native-community-checkbox'
project(':react-native-community-checkbox').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/checkbox/android')

android/app/build.gradle

dependencies {
   ...
   implementation project(':react-native-community-checkbox')
}

android/app/src/main/.../MainApplication.java

On top, where imports are:

import com.reactnativecommunity.checkbox.ReactCheckBoxPackage;

Add the checkbox class to your list of exported packages.

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.asList(
            new MainReactPackage(),
            new ReactCheckBoxPackage()
    );
}
Manually link the library on Windows

Add the CheckboxWindows project to your solution

  1. Open the solution in Visual Studio 2019.
  2. Right-click solution icon in Solution Explorer > Add > Existing Project. Select 'D:\pathToYourApp\node_modules@react-native-community\checkbox\windows\CheckboxWindows\CheckboxWindows.vcxproj'.

windows/myapp.sln

Add a reference to CheckboxWindows to your main application project. From Visual Studio 2019:

Right-click main application project > Add > Reference... Check 'CheckboxWindows' from the 'Project > Solution' tab on the left.

pch.h

Add #include "winrt/CheckboxWindows.h".

app.cpp

Add PackageProviders().Append(winrt::CheckboxWindows::ReactPackageProvider()); before InitializeComponent();.

Migrating from the core react-native module

This module was created when the CheckBox was split out from the core of React Native. To migrate to this module you need to follow the installation instructions above and then change your imports from:

import { CheckBox } from 'react-native';

to:

import CheckBox from '@react-native-community/checkbox';

Usage

Example

import CheckBox from '@react-native-community/checkbox';
  const [toggleCheckBox, setToggleCheckBox] = useState(false)

  <CheckBox
    disabled={false}
    value={toggleCheckBox}
    onValueChange={(newValue) => setToggleCheckBox(newValue)}
  />

Check out the example project for more examples.

Props

Common Props

View props...

Prop name Type Description
onChange function Invoked on change with the native event.
onValueChange function Invoked with the new boolean value when it changes.
value boolean The value of the checkbox. If true the checkbox will be turned on. Default value is false.
testID string Used to locate this view in end-to-end tests.
disabled boolean If true the user won't be able to toggle the checkbox. Default value is false.

Android Only Props

Prop name Type Description
tintColors object An object with the following shape: { true?: ?ColorValue, false?: ?ColorValue }. The color value for true will be used when the checkbox is checked, and the color value for false will be used when it is off.

IOS Only Props

Prop name Type Description
lineWidth number The width of the lines of the check mark and box. Defaults to 2.0.
hideBox boolean Control if the box should be hidden or not. Defaults to false
boxType 'circle' or 'square' The type of box to use. Defaults to 'circle'
tintColor string The color of the box when the checkbox is Off. Defaults to '#aaaaaa'
onCheckColor string The color of the check mark when it is On. Defaults to '#007aff'
onFillColor string The color of the inside of the box when it is On. Defaults to transparent
onTintColor string The color of the line around the box when it is On. Defaults to '#007aff'
animationDuration number The duration in seconds of the animations. Defaults to 0.5
onAnimationType 'stroke' or 'fill' or 'bounce' or 'flat' or 'one-stroke' or 'fade' The type of animation to use when the checkbox gets checked. Default to 'stroke'
offAnimationType 'stroke' or 'fill' or 'bounce' or 'flat' or 'one-stroke' or 'fade' The type of animation to use when the checkbox gets unchecked. 'stroke'

Windows Props

Implemented most of iOS and Android props. Defaults for color styling can be referenced here: https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/checkbox-styles-and-templates

Prop name Type Description
disabled boolean If true the user won't be able to toggle the checkbox. Default value is false.
tintColor string The color of the box when the checkbox is Off.
onCheckColor string The color of the check mark when it is On.
onFillColor string The color of the inside of the box when it is On.
onTintColor string The color of the line around the box when it is On.

Contributors

This module was extracted from react-native core.

The implementaion of IOS version refered to BEMCheckBox

License

The library is released under the MIT licence. For more information see LICENSE.

react-native-checkbox's Projects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.