import React, { useState } from 'react'; import { Checkbox } from '../../../src'; import { labelStyle, ApiTable, CodeBlock, ApiRow, sectionStyle, sectionTitleStyle, tagStyle, demoBoxStyle, } from '../../tools'; const CHECKBOX_API: ApiRow[] = [ { prop: 'options', desc: '选项列表', type: 'CheckboxOption[]', defaultVal: '-', required: true }, { prop: 'value', desc: '受控选中值列表', type: 'Array', defaultVal: '-' }, { prop: 'defaultValue', desc: '默认选中值列表', type: 'Array', defaultVal: '[]' }, { prop: 'size', desc: '尺寸', type: "'small' | 'middle' | 'large'", defaultVal: "'middle'" }, { prop: 'disabled', desc: '禁用全部选项', type: 'boolean', defaultVal: 'false' }, { prop: 'direction', desc: '排列方向', type: "'horizontal' | 'vertical'", defaultVal: "'horizontal'" }, { prop: 'onChange', desc: '选中值变化回调', type: '(values: Array) => void', defaultVal: '-' }, { prop: 'className', desc: '自定义类名', type: 'string', defaultVal: '-' }, { prop: 'style', desc: '自定义样式', type: 'React.CSSProperties', defaultVal: '-' }, ]; const islandOptions = [ { label: '🌊 海滩', value: 'beach' }, { label: '🌳 森林', value: 'forest' }, { label: '🌸 花园', value: 'garden' }, { label: '🏡 村庄', value: 'village' }, ]; const critterOptions = [ { label: '🦋 蝴蝶', value: 'butterfly' }, { label: '🐟 鲈鱼', value: 'bass' }, { label: '🦀 螃蟹', value: 'crab', disabled: true }, { label: '🐛 毛毛虫', value: 'caterpillar' }, { label: '🌊 水母', value: 'jellyfish' }, ]; const CheckboxDemo: React.FC = () => { const [selected1, setSelected1] = useState>(['beach', 'garden']); const [selected2, setSelected2] = useState>([]); return (
Checkbox 基础用法
默认水平排列(受控)
已选中:{' '} {selected1.length > 0 ? islandOptions .filter((o) => selected1.includes(o.value)) .map((o) => o.label) .join('、') : '无'}
垂直排列 + 含禁用选项
小尺寸
中尺寸(默认)
大尺寸
全部禁用
{ return (
{/* 非受控 */} {/* 受控 */} {/* 垂直排列 */}
); }; export default App;`} />
); }; export default CheckboxDemo;