Search results

Getting Started

This section explains how to create a simple CheckBox, and configure its available functionalities in React, using React quickstart application.

Dependencies

The following list of dependencies are required to use the CheckBox component in your application.

|-- @syncfusion/ej2-react-buttons
    |-- @syncfusion/ej2-react-base
    |-- @syncfusion/ej2-base
    |-- @syncfusion/ej2-buttons

Installation and Configuration

You can use Create-react-app to setup the applications. To install create-react-app run the following command.

npm install -g create-react-app

Start a new project using create-react-app command as follows

create-react-app quickstart --scripts-version=react-scripts-ts

cd quickstart

Adding Syncfusion packages

All the available Essential JS 2 packages are published in npmjs.com public registry.

To install CheckBox component, use the following command

npm install @syncfusion/ej2-react-buttons --save

Adding CheckBox component to the Application

To include the CheckBox component in your application import the CheckBoxComponent from ej2-react-buttons package in App.tsx.

Add the CheckBox component in application as shown in below code example.

import * as React from 'react';
import './App.css';
// Import the CheckBox.
import { CheckBoxComponent } from '@syncfusion/ej2-react-buttons';

// To render CheckBox.
export default class App extends React.Component<{}, {}> {
  render() {
    return (
      <CheckBoxComponent label="Default" />
    );
  }
}

Adding CSS Reference

Import the CheckBox component’s required CSS references as follows in src/App.css.

@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";

Running the application

Run the application in the browser using the following command:

npm start

The following example shows a basic CheckBox component.

Source
Preview
app.tsx
index.html
index.css
import * as React from 'react';
import * as ReactDom from 'react-dom';
import { CheckBoxComponent } from '@syncfusion/ej2-react-buttons';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

// To render CheckBox.
class App extends React.Component<{}, {}> {
  render() {
    return (
      <CheckBoxComponent label="Default" />
    );
  }
}
ReactDom.render(<App />, document.getElementById('check-box'));
<!DOCTYPE html>
<html lang="en">

<head>
    <title>Syncfusion React Button</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Essential JS 2 for React Components" />
    <meta name="author" content="Syncfusion" />
    <link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet" />
	<link href="index.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
</head>

<body>
        <div id='check-box'>
            <div id='loader'>Loading....</div>
        </div>
</body>

</html>
#loader {
	color: #008cff;
	height: 40px;
	left: 45%;
	position: absolute;
	top: 45%;
	width: 30%;
}

.e-checkbox-wrap {
  margin-top: 18px;
}

li {
  list-style: none;
  margin: 25px auto;
}

Change the CheckBox state

The Essential JS 2 CheckBox contains 3 different states visually, they are:

  • Checked
  • Unchecked
  • Indeterminate

The CheckBox checked property is used to handle the checked and unchecked state. In checked state a tick mark will be added to the visualization of CheckBox.

Indeterminate

The CheckBox indeterminate state can be set through indeterminate property. CheckBox indeterminate state masks the real value of CheckBox visually. The Checkbox cannot be changed to indeterminate state through the user interface, this state can be achieved only through the property.

Source
Preview
app.tsx
index.html
index.css
import * as React from 'react';
import * as ReactDom from 'react-dom';
import { CheckBoxComponent } from '@syncfusion/ej2-react-buttons';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

class App extends React.Component<{}, {}> {
  render() {
    return (
        <ul>
            {/* checked state. */}
            <li><CheckBoxComponent label="Checked State" checked={true} /></li>

            {/* unchecked state. */}
            <li><CheckBoxComponent label="Unchecked State" /></li>

            {/* indeterminate state. */}
            <li><CheckBoxComponent label="Indeterminate State" indeterminate={true} /></li>
        </ul>
    );
  }
}
ReactDom.render(<App />, document.getElementById('check-box'));
<!DOCTYPE html>
<html lang="en">

<head>
    <title>Syncfusion React Button</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Essential JS 2 for React Components" />
    <meta name="author" content="Syncfusion" />
    <link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet" />
	<link href="index.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
</head>

<body>
        <div id='check-box'>
            <div id='loader'>Loading....</div>
        </div>
</body>

</html>
#loader {
	color: #008cff;
	height: 40px;
	left: 45%;
	position: absolute;
	top: 45%;
	width: 30%;
}

.e-checkbox-wrap {
  margin-top: 18px;
}

li {
  list-style: none;
  margin: 25px auto;
}