Open In App

React Suite Dropdown Used with Buttons

React suite is a library of React components, sensible UI design, and a friendly development experience. It is supported in all major browsers that provide pre-built components of React which can be used easily in any web application.

In this article, we’ll learn about React suite dropdown used with buttons. The menu of the dropdown can also be created using a Button component.



Dropdown Props:

Dropdown.Item Props:



Dropdown.Menu Props:

Creating React Application And Installing Module:

Step 1: Create a React application using the given command:

npm create-react-app projectname

Step 2: After creating your project, move to it using the given command:

cd projectname

Step 3: Now Install the rsuite node package using the given command:

npm install rsuite

Project Structure: Now your project structure should look like the following:

 

Syntax:

// Import Statement
import { Popover, Whisper, Dropdown, Button } from "rsuite/";

// App.Js File
const renderMenu = () => {
  return (
    <Popover>
      <Dropdown.Menu>
          <Dropdown.Item eventKey={1}>...</Dropdown.Item>
      </Dropdown.Menu>
    </Popover>
  );
};

Function App () {
return (
   <Whisper>
     <Button appearance="primary" color="green">
       ...
     </Button>
   </Whisper>
 );
}

Example 1: Below example demonstrates a dropdown using a basic button.




//Apps.js File
  
import React from "react";
import "rsuite/dist/rsuite.min.css";
import { Popover, Whisper, Dropdown, 
    Button } from "rsuite/";
  
const renderMenu = ({ left, top, className }, ref) => {
  
    return (
        <Popover ref={ref} 
            className={className} 
            style={{ left, top }} full>
            <Dropdown.Menu title="Create new file">
                <Dropdown.Item eventKey={1}>
                    Create new
                </Dropdown.Item>
                <Dropdown.Item eventKey={2}>
                    Export file
                </Dropdown.Item>
                <Dropdown.Item eventKey={3}>
                    Download file
                </Dropdown.Item>
            </Dropdown.Menu>
        </Popover>
    );
};
  
export default function App() {
    return (
        <center>
            <div style={{ padding: 20 }}>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite Dropdown used with Button
                </h4>
  
                <Whisper placement="bottomStart" 
                    trigger="click" speaker={renderMenu}>
                    <Button appearance="primary" color="green">
                        Select Option
                    </Button>
                </Whisper>
            </div>
        </center>
    );
}

Output:

 

Example 2: Below example demonstrates a dropdown using Button with Icons.




import React from "react";
import "rsuite/dist/rsuite.min.css";
import PageIcon from '@rsuite/icons/Page';
import FileDownloadIcon from '@rsuite/icons/FileDownload';
import DetailIcon from '@rsuite/icons/Detail';
import { Popover, Whisper, Dropdown, 
    IconButton } from "rsuite/";
  
const renderMenu = ({ left, top, className }, ref) => {
    return (
        <Popover ref={ref} className={className} 
            style={{ left, top }} full>
            <Dropdown.Menu title="Create new file">
                <Dropdown.Item icon={<PageIcon />} 
                    eventKey={1}>Create new file
                </Dropdown.Item>
                <Dropdown.Item icon={<FileDownloadIcon />} 
                    eventKey={2}>Export file
                </Dropdown.Item>
                <Dropdown.Item icon={<DetailIcon />} 
                    eventKey={3}>Download file
                </Dropdown.Item>
            </Dropdown.Menu>
        </Popover>
    );
};
  
export default function App() {
    return (
        <center>
            <div style={{ padding: 20 }}>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite Dropdown used with Button
                </h4>
  
                <Whisper placement="bottomStart" 
                    trigger="click" speaker={renderMenu}>
                    <IconButton appearance="primary" 
                        color="blue" icon={<PageIcon />}>
                        Create new
                    </IconButton>
                </Whisper>
            </div>
        </center>
    );
}

Output:

 

Reference: https://rsuitejs.com/components/dropdown/#used-with-buttons


Article Tags :