Search results

Getting Started

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

Dependencies

The following list of dependencies are required to use the RadioButton 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 RadioButton component, use the following command

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

Adding RadioButton component to the Application

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

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

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

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

Adding CSS Reference

Import the RadioButton 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 RadioButton component.

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

enableRipple(true);

// To render RadioButton.
class App extends React.Component<{}, {}> {
  render() {
    return (
      <ul>
      <li><RadioButtonComponent label="Option 1" name="default" /></li>
      <li><RadioButtonComponent label="Option 2" name="default" /></li>
      </ul>
    );
  }
}
ReactDom.render(<App />, document.getElementById('radio-button'));
<!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='radio-button'>
            <div id='loader'>Loading....</div>
        </div>
</body>

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

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

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

#text {
  font-size: 16px;
}

Change the RadioButton state

The Essential JS 2 RadioButton contains 2 different states visually, they are as follows:

  • Checked
  • Unchecked

The RadioButton checked property is used to handle the checked and unchecked state. In the checked state an inner circle will be added to the visualization of RadioButton.

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

enableRipple(true);

class App extends React.Component<{}, {}> {
  render() {
    return (
        <ul>
            {/* checked state. */}
            <li><RadioButtonComponent label="Option 1" name="state" checked={true} /></li>

            {/* unchecked state. */}
            <li><RadioButtonComponent label="Option 2" name="state" /></li>
        </ul>
    );
  }
}
ReactDom.render(<App />, document.getElementById('radio-button'));
<!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='radio-button'>
            <div id='loader'>Loading....</div>
        </div>
</body>

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

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

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