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() {
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>GeeksforGeeks</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>
);
}