تخطّي إلى المحتوى الرئيسي

مربع اختيار 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​

خاصيةالوصفالنوعالقيم المتاحةالافتراضي
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​

خاصيةالوصفالنوعالافتراضي
valueمصفوفة القيم المحددة المُتحكم بهاunknown[]—
defaultValueالقيمة الافتراضية غير المُتحكم بهاunknown[][]
disabledتعطيل جميع العناصر الفرعيةbooleanfalse
sizeحجم العناصر الفرعية'large' | 'middle' | 'small'يتبع ConfigProvider
namename الأصلي الذي يُمرر للعناصر الفرعيةstring—

أحداث CheckboxGroup​

حدثالوصفتوقيع الاستدعاءمقابل Vue
onChangeتغيّرت مصفوفة القيم المحددة(value: unknown[]) => void@change
الحالة غير محددة

يُستخدم indeterminate غالبًا للحالة الوسيطة لـ (تحديد الكل): يكون شكله خطًا أفقيًا ولكنه لا يؤثر على checked. يقوم المكوّن بمزامنته مع input.indeterminate الأصلي داخل useEffect.

الأنماط​

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