# Component/Control/CheckboxGroup > Props: component-control-checkboxgroup.props.txt ## Examples ### All Check ```tsx { render: () => { const [checked_list, setCheckedList] = useState([]); const onChange = (list: string[]) => { setCheckedList(list); }; return onChange(v as string[])} />; } } ``` ### Base ```tsx { args: { defaultValue: ['kor'], items: items } } ``` ### Controlled ```tsx { render: () => { const [values, setValues] = useState([]); const handleButtonClick = () => { setValues(['kor', 'jp']); }; return setValues(value as string[])} /> {values.length > 0 && selected items: {values.join(',')}} ; } } ``` ### Disabled ```tsx { args: { disabled: true, items: items } } ``` ### Hover ```tsx { render: () => { const [values, setValues] = useState([]); return 아랍어2 ( ) , value: '아랍어2' }]} value={values} onChange={value => setValues(value as string[])} /> ; } } ``` ### Link ```tsx { args: { align: 'vertical', items: [{ label: '한국어', value: 'kor', link: 'link', disabled: true, onClickLink: e => { alert(e); } }, { label: '일본어', value: 'jp', link: 'link', onClickLink: e => { alert(e); } }, { label: '영어', value: 'en', link: 'link', onClickLink: e => { alert(e); } }] } } ``` ### Size ```tsx { render: () => } ``` ### Spacing ```tsx { args: { spacing: 40, items: items } } ``` ### Vertical Align ```tsx { args: { align: 'vertical', items: items } } ``` ### Indeterminate ```tsx { render: () => { const [checked_list, setCheckedList] = useState(['kor', 'jp']); const [indeterminate, setIndeterminate] = useState(true); const [check_all, setCheckAll] = useState(false); const onChange = (list: string[]) => { setCheckedList(list); setIndeterminate(!!list.length && list.length < items.length); setCheckAll(list.length === items.length); }; const onCheckAllChange = (e: React.ChangeEvent) => { setCheckedList(e.target.checked ? items.map(item => item.value) : []); setIndeterminate(false); setCheckAll(e.target.checked); }; return Check all onChange(v as string[])} /> ; } } ```