Search results

Getting started with React SpeedDial component

02 Feb 2023 / 2 minutes to read

This section explains how to create a simple Speed Dial and demonstrate the basic usage of the Speed Dial component in an React environment.

Dependencies

The list of dependencies required to use the Speed Dial component in your application is given below:

Copied to clipboard
|-- @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.

Copied to clipboard
npm install -g create-react-app

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

Copied to clipboard
create-react-app quickstart --scripts-version=react-scripts-ts

cd quickstart
Copied to clipboard
create-react-app quickstart

cd quickstart

‘react-scripts-ts’ is used for creating React app with typescript.

Adding Syncfusion packages

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

To install Speed Dial component, use the following command

Copied to clipboard
npm install @syncfusion/ej2-react-buttons --save

Adding Speed Dial component to the Application

To include the Speed Dial component in your application import the SpeedDialComponent from ej2-react-buttons package in App.tsx.

Add the Speed Dial component in application as shown in below code example.

Copied to clipboard
{/* Import the Speed Dial.*/}
import { SpeedDialComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import './App.css';

{/* To render Speed Dial. */}
function App() {
  
  return (
      <SpeedDialComponent id='speeddial'></SpeedDialComponent>
  );
}
export default App;
Copied to clipboard
{ /* Import the Speed Dial.*/ }
import { SpeedDialComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import './App.css';
{ /* To render Speed Dial. */ }
function App() {
    return (<SpeedDialComponent id='speeddial'></SpeedDialComponent>);
}
export default App;

Adding CSS Reference

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

Copied to clipboard
@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:

Copied to clipboard
npm start

The following example shows a basic Speed Dial component.

Source
Preview
app.jsx
index.html
app.tsx
Copied to clipboard
{ /* Import the Speed Dial. */ }
import { SpeedDialComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';
{ /* To render Speed Dial.*/ }
function App() {
    const items = [
        { text: 'Cut' },
        { text: 'Copy' },
        { text: 'Paste' }
    ];
    return (<div id="targetElement" style={{ position: 'relative', minHeight: '350px', border: '1px solid' }}>
      
      <SpeedDialComponent id='speeddial' items={items} content='Edit' target="#targetElement"></SpeedDialComponent>
    </div>);
}
export default App;
ReactDom.render(<App />, document.getElementById('button'));
Copied to clipboard
<!DOCTYPE html>
<html lang="en">

<head>
            
    <title>Syncfusion React Floating Action 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/20.4.48/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/20.4.48/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='button'>
            <div id='loader'>Loading....</div>
        </div>
</body>

</html>
Copied to clipboard
{/* Import the Speed Dial. */}
import { SpeedDialComponent, SpeedDialItemModel } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';

{/* To render Speed Dial.*/}
function App() {

  const items: SpeedDialItemModel[] = [
    { text: 'Cut' },
    { text: 'Copy' },
    { text: 'Paste' }
  ];

  return (
    <div id="targetElement" style={{position:'relative', minHeight:'350px', border:'1px solid'}}>
      {/* Initialize the SpeedDial component. */}
      <SpeedDialComponent id='speeddial' items={items} content='Edit' target="#targetElement"></SpeedDialComponent>
    </div>
  );
}
export default App;
ReactDom.render(<App />,document.getElementById('button'));