Перейти к основному содержимому

Флажок

Множественный выбор из набора вариантов; поддерживает как самостоятельное использование, так и работу в группе 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>
</>
)
}

Props компонента Checkbox​

ПропОписаниеТипДопустимые значенияПо умолчанию
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

Props компонента CheckboxGroup​

ПропОписаниеТипПо умолчанию
valueКонтролируемый массив выбранных значенийunknown[]—
defaultValueНеконтролируемое значение по умолчаниюunknown[][]
disabledОтключить все дочерние элементыbooleanfalse
sizeРазмер дочерних элементов'large' | 'middle' | 'small'Из ConfigProvider
nameНативный name, передаваемый дочерним элементамstring—

События CheckboxGroup​

СобытиеОписаниеСигнатура обратного вызоваАналог во Vue
onChangeИзменение массива выбранных значений(value: unknown[]) => void@change
Промежуточное состояние

indeterminate часто используется для промежуточного состояния «выбрать всё»: визуально это горизонтальная черта, но она не влияет на checked. Компонент синхронизирует значение с нативным input.indeterminate внутри useEffect.

Стили​

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