Textarea

Textarea

여러 줄 텍스트 입력을 위한 Textarea 컴포넌트입니다. class="textarea"를 사용하며, form_field와 조합해 레이블·힌트·유효성 메시지를 구성합니다.

기본

레이블과 힌트 텍스트가 포함된 폼 필드입니다.

500자 이내로 작성해 주세요.

단독 사용

form_field 없이 textarea만 사용할 수 있습니다. 메모·댓글 입력 등 간단한 다중 입력에 적합합니다.

크기

textarea_sm · textarea(기본) · textarea_lg로 padding·font-size를 조절합니다. 너비와는 별개이며 textarea_fit 등과 자유롭게 조합할 수 있습니다.

너비

크기와 독립적으로 너비를 제어합니다. 기본은 부모 100%, textarea_fit · form_field_fit으로 --input-max-width(320px)까지 제한합니다.

행 수

HTML rows 속성으로 초기 높이를 지정합니다. 리사이즈가 허용된 경우 사용자가 높이를 조절할 수 있습니다.

리사이즈

textarea_resize_* 클래스로 사용자 리사이즈 동작을 제어합니다. 기본값은 리사이즈 없음(resize: none)입니다.

고정 높이가 필요한 폼에 사용합니다.

필수 필드

required 속성과 form_field-required로 필수 입력을 표시합니다.

최소 10자 이상 입력해 주세요.

글자 수 카운터

TextareaShowCount로 textarea 우측 하단에 현재 글자 수를 표시합니다. maxLength와 함께 사용하면 0/200 형식으로 최대 글자 수를 함께 보여 줍니다. 카운터 ID는 textarea의 aria-describedby에 자동으로 연결되며, 스크린 리더에는 현재·최대 글자 수를 음성 안내합니다.

0자 입력, 최대 200자

200자 이내로 작성해 주세요.

0자 입력, 최대 100자

100자 이내로 작성해 주세요.

13자 입력, 최대 200자

200자 이내로 작성해 주세요.

상태

disabled · readonly · is-error · is-success로 입력 상태를 표현합니다. 오류·성공 메시지는 색상만으로 전달하지 않고 텍스트와 aria 속성을 함께 사용합니다.

disabled 속성으로 편집을 막습니다.

조합 예시

문의 폼에서 필수 입력·글자 수 안내·유효성 피드백을 조합한 예시입니다. aria-invalid · aria-describedby · maxLength로 접근성을 보완합니다.

6자 입력, 최대 500자

500자 이내로 작성해 주세요.

구체적인 상황을 알려주시면 빠르게 답변드립니다.

13자 입력, 최대 200자

200자 이내로 작성해 주세요.

선택 항목이 정상적으로 저장되었습니다.

API · Props

Prop타입기본값설명
refReact.Ref<HTMLTextAreaElement>실제 textarea DOM 참조
valuestring제어 컴포넌트 값 (Vue model-value 대응)
defaultValuestring''비제어 초기 값
rowsnumber | string3textarea rows 속성
size'sm' | 'md' | 'lg'mdtextarea_sm · textarea_lg
placeholderstringplaceholder 속성
disabledbooleanfalse비활성
errorbooleanfalse오류 상태 (is-error)
blockbooleanfalse부모 너비 100% (textarea_block)
classNamestringtextarea 루트에 추가 클래스
onChange(event) => void값 변경 콜백 (Vue update:modelValue 대응)

API · Children

Children설명
children초기 텍스트. React에서는 value/defaultValue 사용을 권장합니다.
TextareaShowCountTextarea를 감싸 현재/최대 글자 수와 접근성 안내를 자동으로 갱신하는 래퍼

API · Events

이벤트설명
onChange입력 값 변경 시 (Vue update:modelValue 대응)

클래스 · 속성

React 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
textarea텍스트영역 루트
textarea_sm · textarea_lg · textarea_block크기·너비
textarea_wrap · textarea_show-count · textarea_countTextareaShowCount 글자 수 카운터 구조
is-error · is-disabled상태

디자인 토큰

토큰기본값설명
--textarea-min-height5rem최소 높이
--textarea-count-inset-x · --textarea-count-inset-y0.75rem · 0.5rem글자 수 카운터 위치