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

حقل إدخال Input

إدخال المحتوى يدويًا والتحقق منه، مع دعم الوضعين المُتحكم به وغير المُتحكم به، وحد عدد الأحرف، والمسح، والتكيّف متعدد الأسطر وغيرها.

الاستخدام الأساسي​

إدخال مُتحكم به

القيمة الحالية: (فارغ)

import { useState } from 'react'
import { LhInput } from '@lh-ui/react'

export default function Demo() {
const [value, setValue] = useState('')

return <LhInput value={value} onChange={(val) => setValue(val)} placeholder="حقل إدخال مُتحكم به" />
}

الميزات​

مسح / حد الأحرف / كلمة المرور / تكيّف متعدد الأسطر
0/10
import { LhInput } from '@lh-ui/react'

export default function Demo() {
return (
<>
<LhInput placeholder="قابل للمسح" clearable />
<LhInput placeholder="حد الأحرف" maxlength={10} showWordLimit />
<LhInput placeholder="حقل كلمة المرور" type="password" />
<LhInput
placeholder="إدخال متعدد الأسطر"
type="textarea"
autosize={{ minRows: 2, maxRows: 4 }}
/>
</>
)
}

خصائص Input​

خاصيةالوصفالنوعالقيم المتاحةالافتراضي
valueالقيمة المُتحكم بهاstring——
defaultValueالقيمة الافتراضية غير المُتحكم بهاstring——
typeالنوع الأصلي'text' | 'password' | 'number' | 'email' | 'tel' | 'url' | 'search' | 'textarea' | ...—'text'
placeholderالعنصر النائبstring—قيمة احتياطية من حزمة اللغة (zh-CN: 请输入)
disabledمعطّلboolean—false
readonlyللقراءة فقطboolean—false
maxlengthأقصى طول للإدخال (يُقطع عند تجاوزه)number——
showWordLimitإظهار عدّاد الأحرفboolean—false
clearableقابل للمسحboolean—false
showPasswordإظهار / إخفاء كلمة المرور (عندما يكون type هو password يُعرض زر عين في اللاحقة، وهو ابتكار في React)boolean—false
autosizeارتفاع متكيّف متعدد الأسطرboolean | { minRows?: number; maxRows?: number }—false
labelعلامة عائمةstring——
prefixIcon / suffixIconأيقونتان البادئة واللاحقةLhIconName——
sizeالحجم'large' | 'middle' | 'small'—يتبع ConfigProvider
nameخاصية name الأصليةstring——
themeVarsمتغيرات السمة على مستوى المكوّنRecord<string, string>——
sxخصائص التخطيط السريعSxProps——

أحداث Input​

حدثالوصفتوقيع الاستدعاءمقابل Vue
onChangeتغيّرت القيمة (وسيطان)(value: string, event: ChangeEvent) => void@change
onInputحدث الإدخال الأصلي(event: InputEvent) => void@input
onFocusتلقّى التركيز(event: FocusEvent) => void@focus
onBlurفقد التركيز(event: FocusEvent) => void@blur
onClearالنقر على زر المسح(event: MouseEvent) => void@clear
onKeyDownحدث لوحة المفاتيح الأصلي(event: KeyboardEvent) => void@keydown
الوسيطان في onChange

يتساوى onChange(value, event) بنيويًا مع emit('change', [val, e]) في lh-ui-plus مما يسهّل الترحيل. راجع دليل الترحيل.

ref​

forwardRef<HTMLInputElement | HTMLTextAreaElement> — العنصر الأصلي القابل للتركيز.

الأنماط​

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