Textarea

Textarea는 사용자가 여러 줄의 텍스트를 입력할 수 있도록 하는 텍스트 입력 필드를 제공합니다.
import { Box, Textarea } from '@vapor-ui/core';

export default function DefaultTextarea() {
    return (
        <Box display="flex" alignItems="center" justifyContent="center" width="100%">
            <Textarea placeholder="여러 줄 텍스트를 입력하세요..." />
        </Box>
    );
}

Property


Size

Textarea 크기는 sm, md, lg, xl 로 제공합니다.

import { Textarea } from '@vapor-ui/core';

export default function TextareaSize() {
    return (
        <div className="space-y-4">
            <Textarea size="sm" placeholder="Small size" />
            <Textarea size="md" placeholder="Medium size" />
            <Textarea size="lg" placeholder="Large size" />
            <Textarea size="xl" placeholder="Extra large size" />
        </div>
    );
}

Auto Resize

텍스트 내용에 따라 자동으로 높이가 조절되는 기능을 제공합니다.

import { Box, Textarea } from '@vapor-ui/core';

export default function TextareaAutoResize() {
    return (
        <Box display="flex" alignItems="center" justifyContent="center" width="100%">
            <Textarea autoResize placeholder="텍스트를 입력하면 자동으로 높이가 조절됩니다..." />
        </Box>
    );
}

States

Textarea의 다양한 상태를 보여줍니다.

import { Grid, Textarea } from '@vapor-ui/core';

export default function TextareaStates() {
    return (
        <Grid.Root templateColumns="1" gap="$100">
            <Grid.Item>
                <Textarea placeholder="Default state" />
            </Grid.Item>
            <Grid.Item>
                <Textarea disabled placeholder="Disabled state" />
            </Grid.Item>
            <Grid.Item>
                <Textarea invalid placeholder="Invalid state" />
            </Grid.Item>
            <Grid.Item>
                <Textarea readOnly defaultValue="Read only content" />
            </Grid.Item>
        </Grid.Root>
    );
}

Examples


maxLength

Textarea에 maxLength 속성을 추가하여 입력 가능한 최대 문자 수를 제한하는 기능을 제공합니다.

import { Box, Textarea } from '@vapor-ui/core';

export default function TextareaCharacterCount() {
    return (
        <Box display="flex" alignItems="center" justifyContent="center">
            <Textarea placeholder="Type your message..." maxLength={100} />
        </Box>
    );
}

Props Table


Textarea

간단한 단일 컴포넌트로 사용할 수 있는 Textarea입니다.

PropDefaultType
render?
-
ReactElementfunction
value?
-
string
defaultValue?
-
string
onValueChange?
-
function
disabled?
false
boolean
readOnly?
false
boolean
invalid?
false
boolean
placeholder?
-
string
rows?
-
number
cols?
-
number
size?
md
smmdlgxl
autoResize?
false
boolean
maxLength?
-
number
required?
false
boolean