Tuesday, November 26, 2024
Google search engine
HomeLanguagesReact Suite CheckPicker Async

React Suite CheckPicker Async

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 async. In the async checkpicker component, rather than loading the data items high in your application & passing it directly to a component for display, we perform the data loading at the component level using a spinner or a loading text.

Syntax:

import { CheckPicker } from "rsuite";
Function App() {
  return (
    <CheckPicker onOpen={updateData} 
      onSearch={updateData} data={data} />
  );
}

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 basic async checkpicker component.

Javascript




import "rsuite/dist/rsuite.min.css";
import { CheckPicker } from "rsuite/";
import { useState } from "react";
import Spinner from '@rsuite/icons/legacy/Spinner'
  
export default function App() {
  
  // Sample courses data 
  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",
  },
  ]
  
  const [items, setItems] = useState([]);
  const updateOptions = () => {
    if (items.length === 0) {
      setItems(data); 
    }
  };
  const renderCheckPicker = (menu) => {
    if (items.length === 0) {
      return (
        <p style={{ 
          padding: 4, 
          color: 'green'
          textAlign: 'center' 
        }}>
          <Spinner spin /> loading...
        </p>
  
      );
    }
    return menu;
  }
  
  return (
    <center>
      <div>
        <h2>neveropen</h2>
        <h4 style={{ color: "green" }}>
          React Suite CheckPicker Async
        </h4>
  
        <div style={{ marginTop: 20, width: 800 }}>
        <CheckPicker 
          data={items}
          onOpen={updateOptions}
          onSearch={updateOptions} 
          style={{ width: 230 }}
          renderMenu={renderCheckPicker}
        />
        </div>
      </div>
    </center>
  );
}


Output:

 

Example 2: Another example demonstrating the async checkpicker component without searchable and disabled options.

Javascript




import "rsuite/dist/rsuite.min.css";
import { CheckPicker } from "rsuite/";
import { useState } from "react";
import Spinner from '@rsuite/icons/legacy/Spinner'
  
export default function App() {
  
  // Sample courses data 
  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",
  },
  ]
  
  const [items, setItems] = useState([]);
  const updateOptions = () => {
    if (items.length === 0) {
      setItems(data); 
    }
  };
  const renderCheckPicker = (menu) => {
    if (items.length === 0) {
      return (
        <p style={{ 
          padding: 4, 
          color: 'green',
          textAlign: 'center' 
        }}>
          <Spinner spin /> loading...
        </p>
  
      );
    }
    return menu;
  }
  
  return (
    <center>
      <div>
        <h2>neveropen</h2>
        <h4 style={{ color: "green" }}>
          React Suite CheckPicker Async
        </h4>
  
        <div style={{ marginTop: 20, width: 800 }}>
        <CheckPicker 
          data={items}
          onOpen={updateOptions}
          onSearch={updateOptions} 
          style={{ width: 230 }}
          renderMenu={renderCheckPicker}
          searchable={false}
          disabledItemValues={['Web', 'Python']}
        />
        </div>
      </div>
    </center>
  );
}


Output:

 

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

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments