# Component/CategorySelector > Props: component-categoryselector.props.txt ## Examples ### Base ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['']); const [is_leaf, setIsLeaf] = useState(false); const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'}
; } } ``` ### Disabled ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['']); const [is_leaf, setIsLeaf] = useState(false); const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'}
; }, args: { disabled: true } } ``` ### Multi Selectable ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['']); const [is_leaf, setIsLeaf] = useState(false); const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'}
; }, args: { multiple: true } } ``` ### With Can Click Outside ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>([]); const handleOptionValuesChange = (values: Array) => { setSelectedKeys(selected_keys.filter(value => values.includes(value))); }; const handleSelectedKeysChange = (selectedKeys: Array) => { setSelectedKeys(selectedKeys); }; return canClickOutside: {String(args.canClickOutside)} canClickOutside={args.canClickOutside} placeholder='카테고리를 선택해 주세요.' onOptionValuesChange={handleOptionValuesChange}> ; }, args: { canClickOutside: true } } ``` ### With Dropdown Chip Multi Select ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['']); const [is_leaf, setIsLeaf] = useState(false); const handleOptionValuesChange = (values: Array) => { setSelectedKeys(selected_keys.filter(value => values.includes(value))); }; const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'} multiple={args.multiple} placeholder='카테고리를 선택해 주세요.' onOptionValuesChange={handleOptionValuesChange} width={400}>
; }, args: { multiple: true } } ``` ### With Dropdown Chip Single Select ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['']); const [is_leaf, setIsLeaf] = useState(false); const handleOptionValuesChange = (values: Array) => { setSelectedKeys(selected_keys.filter(value => values.includes(value))); }; const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'} multiple={args.multiple} placeholder='카테고리를 선택해 주세요.' onOptionValuesChange={handleOptionValuesChange} width={400}>
; }, args: { multiple: true }, args: { multiple: false } } ``` ### With Initial Value ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['baby_onesie']); const [is_leaf, setIsLeaf] = useState(false); const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return selected_keys: {Array.from(selected_keys).join(',')}
is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'}
; } } ``` ### With Initial Value Dropdown ```tsx { render: args => { const [selected_keys, setSelectedKeys] = useState>(['baby_onesie']); const [is_leaf, setIsLeaf] = useState(false); const handleOptionValuesChange = (values: Array) => { setSelectedKeys(selected_keys.filter(value => values.includes(value))); }; const handleSelectedKeysChange = (selectedKeys: Array, isLeaf?: boolean) => { setSelectedKeys(selectedKeys); setIsLeaf(isLeaf ?? false); }; return is_leaf: {String(is_leaf)} {args.multiple && '(only works when multiple is false)'} multiple={args.multiple} placeholder='카테고리를 선택해 주세요.' onOptionValuesChange={handleOptionValuesChange}> ; }, args: { multiple: false } } ```