跳到主要內容

Checkbox 多選框

一組備選項中進行多選,支援單個使用與 LhCheckboxGroup 組合使用。

基礎用法​

單個與組合

已選:ink

import { useState } from 'react'
import { LhCheckbox, LhCheckboxGroup } from '@lh-ui/react'

export default function Demo() {
const [checked, setChecked] = useState(false)
const [group, setGroup] = useState<string[]>(['ink'])

return (
<>
<LhCheckbox checked={checked} onChange={(val) => setChecked(val)}>
单个复选框
</LhCheckbox>

<LhCheckboxGroup value={group} onChange={(val) => setGroup(val as string[])}>
<LhCheckbox value="ink">水墨</LhCheckbox>
<LhCheckbox value="danqing">丹青</LhCheckbox>
<LhCheckbox value="blank">留白</LhCheckbox>
</LhCheckboxGroup>
</>
)
}

Checkbox Props​

屬性說明型別可選值預設值
value選項值(在 Group 內生效)unknown——
checked受控選中態(單獨使用時)boolean——
defaultChecked非受控預設選中boolean—false
label顯示文案string——
disabled停用boolean—false
indeterminate半選狀態(只影響視覺,不產生值)boolean—false
size尺寸'large' | 'middle' | 'small'—跟隨 ConfigProvider
name原生 name 屬性(Group 透傳)string——
sx快速版面配置屬性SxProps——

Checkbox 事件​

事件說明回呼簽名Vue 對照
onChange選中態變化(雙參數)(checked: boolean, event: ChangeEvent) => void@change

CheckboxGroup Props​

屬性說明型別預設值
value受控選中值陣列unknown[]—
defaultValue非受控預設值unknown[][]
disabled停用全部子項booleanfalse
size子項尺寸'large' | 'middle' | 'small'跟隨 ConfigProvider
name透傳給子項的原生 namestring—

CheckboxGroup 事件​

事件說明回呼簽名Vue 對照
onChange選中值陣列變化(value: unknown[]) => void@change
半選狀態

indeterminate 常用於「全選」中間態:視覺上是橫線,但不會影響 checked。元件在 useEffect 內同步到原生 input.indeterminate。

樣式​

import '@lh-ui/react/style/checkbox'