InputNumber
숫자 값을 입력하고 증감 버튼으로 조절하는 입력 필드
개요
InputNumber는 숫자 전용 입력 컴포넌트입니다. 증감 버튼과 step 단위 조절, 최소/최대 범위 제한, 키보드 입력을 지원합니다.
주요 특징
- ✅ 증감 버튼: +/- Stepper 버튼으로 값 조절
- ✅ 범위 제한: min, max 값 설정 및 초과 방지
- ✅ step 조절: 정수/소수 증감 단위 설정
- ✅ 키보드 입력: 직접 숫자 입력 및 화살표 키 조절
- ✅ 숫자 전용: 문자 입력 자동 차단
- ✅ 읽기 전용/비활성화: readOnly, disabled 상태 지원
- ✅ 오류 상태: 범위 초과 시 버튼 비활성화로 시각적 피드백
- ✅ 다양한 크기: xs, sm, md, lg, xl
- ✅ 디자인 토큰: 테마 커스터마이징 지원
Sizes
Preview
사용 예시
기본 사용
Preview
Step 값 설정
정수 또는 소수 단위로 증감할 수 있습니다.
Preview
최소/최대 범위 제한
min과 max로 입력 가능한 범위를 제한합니다. 범위를 초과하는 값은 자동으로 제한됩니다.
Preview
읽기 전용 상태
readOnly로 읽기 전용, disabled로 비활성화 상태를 설정합니다.
Preview
오류 상태 표시
최소/최대 범위에 도달하면 증감 버튼이 비활성화되어 시각적으로 제한 상태를 표현합니다.
Preview
API Reference
Props
| Prop | Type | Default | Description |
|---|---|---|---|
value | number | - | 값 (제어 컴포넌트) |
defaultValue | number | - | 초기 기본값 |
step | number | 1 | 증감 단위 |
min | number | -Infinity | 최소 값 |
max | number | Infinity | 최대 값 |
disabled | boolean | false | 비활성화 여부 |
readOnly | boolean | false | 읽기 전용 여부 |
size | "xs" | "sm" | "md" | "lg" | "xl" | "md" | 컴포넌트 크기 |
placeholder | string | - | 플레이스홀더 텍스트 |
className | string | - | 추가 CSS 클래스 |
Events
| Event | Type | Description |
|---|---|---|
onValueChange | (value: number) => void | 값 변경 시 호출 |
기본 사용법
import { InputNumber } from "@vortex/ui-foundation"
<InputNumber defaultValue={10} />
<InputNumber defaultValue={50} min={0} max={100} step={5} />접근성
권장 사항
- ✅
min/max설정으로 유효 범위를 제한 - ✅ 키보드 접근: 증감 버튼 Tab 이동, 직접 숫자 입력, 화살표 키 증감
- ✅ 숫자만 입력 가능하도록 자동 제한
- ❌ 범위 제한 없는 무한 입력 지양
관련 컴포넌트
Last updated on