Open In App

React Suite CheckPicker Custom Options

Last Updated : 29 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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

In this article, we’ll learn about React suite Checkpicker Custom Options. The Checkpicker is very useful for selecting multiple items or selecting a group of data items. We can customize the checkpicker components like custom renderValue, renderMenuGroup, etc.

Syntax:

import { CheckPicker } from "rsuite";

Function App() {
    return (
         <CheckPicker value={value} 
               onChange={setValue} data={data} 
               renderMenuGroup={...} 
               renderValue={...} />
    );
}

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:

 

Example 1: Below example demonstrates the checkpicker component with custom renderMenuGroup and renderValue.

Javascript




import "rsuite/dist/rsuite.min.css";
import React from "react";
import { CheckPicker } from "rsuite";
import { Icon } from "@rsuite/icons";
import { FaListUl, FaCode } from 'react-icons/fa';
  
const data = [
    {
        label: "Java",
        value: "Java",
    },
    {
        label: "C++",
        value: "C++",
    },
    {
        label: "Python",
        value: "Python",
    },
    {
        label: "DSA mastery",
        value: "DSA",
    },
    {
        label: "Web Development",
        value: "Web",
    },
    {
        label: "Android Development",
        value: "Android",
    },
];
  
export default function App() {
    return (
        <div>
            <div style={{ textAlign: "center" }}>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite CheckPicker Custom Options
                </h4>
            </div>
  
            <div style={{ padding: 20 }}>
                <CheckPicker
                    block
                    size="lg"
                    placeholder="Select"
                    data={data}
                    renderMenuGroup={(label, item) => {
                        return (
                            <div>
                                <span> 
                                    {label} - ({item.children.length})
                                </span>
                            </div>
                        );
                    }}
                    renderValue={(value, items) => {
                        return (
                            <span>
                                <span style={{ color: '#575757' }}>
                                    <Icon as={FaListUl} 
                                        size="1em" /> Courses :
                                </span>{' '}
                                {value.join(' , ')}
                            </span>
                        );
                    }}
                />
            </div>
        </div>
    );
}


Output:

 

Example 2: Below example demonstrates the checkpicker component with custom renderMenuItems.

Javascript




import "rsuite/dist/rsuite.min.css";
import React from "react";
import { CheckPicker } from "rsuite";
import { Icon } from "@rsuite/icons";
import { FaListUl, FaCode } from 'react-icons/fa';
  
const data = [
    {
        label: "Java",
        value: "Java",
    },
    {
        label: "C++",
        value: "C++",
    },
    {
        label: "Python",
        value: "Python",
    },
    {
        label: "DSA mastery",
        value: "DSA",
    },
    {
        label: "Web Development",
        value: "Web",
    },
    {
        label: "Android Development",
        value: "Android",
    },
];
  
export default function App() {
    return (
        <div>
            <div style={{ textAlign: "center" }}>
                <h2>GeeksforGeeks</h2>
                <h4 style={{ color: "green" }}>
                    React Suite CheckPicker Custom Options
                </h4>
            </div>
  
            <div style={{ padding: 20 }}>
                <CheckPicker
                    block
                    size="lg"
                    placeholder="Select"
                    data={data}
                    renderMenuItem={(label, item) => {
                        return (
                            <div>
                                <Icon as={FaCode} 
                                    size="1em" /> {label}
                            </div>
                        );
                    }}
                    renderMenuGroup={(label, item) => {
                        return (
                            <div>
                                <span> {label} - 
                                    ({item.children.length})</span>
                            </div>
                        );
                    }}
                    renderValue={(value, items) => {
                        return (
                            <span>
                                <span style={{ color: '#575757' }}>
                                    <Icon as={FaListUl} 
                                        size="1em" /> Courses :
                                </span>{' '}
                                {value.join(' , ')}
                            </span>
                        );
                    }}
                />
            </div>
        </div>
    );
}


Output:

 

Reference: https://rsuitejs.com/components/check-picker/#custom-options



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads