TagInput
core태그 입력 컴포넌트. 텍스트를 입력하고 Enter로 태그를 추가, Backspace로 삭제합니다.
컴포넌트 의존 관계
깊이
100%
Controlled
Skills
ReactTypeScript
Tags: React, TypeScript
Max 5 tags
Interests0/5
Disabled
Locked tags
fixedreadonly
Paste Support
Paste tags
Comma, semicolon, or newline separated text is auto-split into tags.
Keyboard Navigation
Use arrow keys to navigate between tags. Press Delete or Backspace to remove a focused tag. Ctrl+Z to undo, Ctrl+Shift+Z to redo.
Navigate me
AlphaBetaGamma
테스트 커버리지
2026년 2월 4일생성된 테스트 결과를 찾지 못했습니다.
TagInput 항목이 문서 메타에 연결되어 있지만 현재 생성 파일에는 없습니다.
테스트를 추가한 뒤 `bun run generate:test-results`를 실행하거나 `testDescribe` 매핑을 다시 확인하세요.
TagInput Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
value | string[] | — | 제어 모드: 현재 태그 배열 |
onChange | (tags: string[]) => void | — | 태그 변경 핸들러 |
placeholder | string | "Add tag..." | 입력 플레이스홀더 |
label | string | — | 입력 필드 레이블 |
maxTags | number | — | 최대 태그 수 |
disabled | boolean | false | 비활성화 상태 |
suggestions | string[] | — | 자동완성 드롭다운에 표시할 추천 태그 목록 |
delimiters | (string | RegExp)[] | [",", ";", "\n"] | 붙여넣기 시 태그를 분할할 구분자 목록 |
allowDuplicates | boolean | false | 중복 태그 허용 여부 |
Import
tsx
import { TagInput } from "@reopt-ai/opt-ui";키보드 동작
| 키 | 동작 |
|---|---|
| Enter | 태그 추가 |
| Backspace | 마지막 태그 삭제 (입력 비어있을 때) |
| ←/→ | 태그 간 이동 (Composite roving tabindex) |
| Delete | 포커스된 태그 삭제 |
| Ctrl+Z | 실행취소 |
| Ctrl+Shift+Z | 다시실행 |