TextField텍스트 필드
텍스트 필드 컴포넌트는 사용자가 페이지에 텍스트를 입력할 수 있도록하며, 일반적으로 양식과 대화 상자에 사용됩니다.
사용법
컴포넌트 가져오기:
import 'mdui/components/text-field.js';
컴포넌트의 TypeScript 타입 가져오기:
import type { TextField } from 'mdui/components/text-field.js';
사용 예시:
<mdui-text-field label="Text Field"></mdui-text-field>보조 텍스트
label 속성으로 텍스트 필드 상단의 레이블 텍스트를 설정합니다.
placeholder 속성으로 값이 없을 때의 플레이스홀더 텍스트를 설정합니다.
helper 속성으로 텍스트 필드 하단의 도움말 텍스트를 설정합니다. helper 슬롯을 사용해 도움말 텍스트를 설정할 수도 있습니다. helper-on-focus 속성을 추가하면 입력 필드가 포커스를 받을 때만 도움말 텍스트를 표시합니다.
비우기 가능
clearable 속성을 추가하면 텍스트 필드에 값이 있을 때 오른쪽에 비우기 버튼이 추가됩니다.
텍스트 오른쪽 정렬
end-aligned 속성을 추가하면 텍스트를 오른쪽으로 정렬할 수 있습니다.
앞뒤 텍스트 및 아이콘
icon 및 end-icon 속성을 설정하면 텍스트 필드의 왼쪽과 오른쪽에 Material Icons 아이콘을 추가할 수 있습니다. icon 및 end-icon 슬롯을 통해 텍스트 필드의 왼쪽과 오른쪽에 요소를 추가할 수도 있습니다.
prefix 및 suffix 속성을 설정하면 텍스트 필드의 왼쪽과 오른쪽에 텍스트를 추가할 수 있습니다. prefix 및 suffix 슬롯을 통해 텍스트 필드의 왼쪽과 오른쪽에 텍스트 요소를 추가할 수도 있습니다. 이 텍스트는 텍스트 필드가 포커스를 받거나 값이 있을 때만 표시됩니다.
읽기 전용 모드
readonly 속성을 추가하면 텍스트 필드를 읽기 전용 모드로 설정할 수 있습니다.
비활성화 상태
disabled 속성을 추가하면 텍스트 필드를 비활성화할 수 있습니다.
여러 줄 텍스트 필드
rows 속성으로 여러 줄 텍스트 필드의 행 수를 설정할 수 있습니다.
autosize 속성을 추가하면 텍스트 필드가 입력 내용의 길이에 따라 자동으로 높이를 조정할 수 있습니다. min-rows 및 max-rows 속성으로 자동 높이 조정 시 최소 행 수와 최대 행 수를 지정할 수 있습니다.
글자 수 통계
maxlength 속성으로 최대 글자 수를 설정한 경우 counter 속성을 추가하여 텍스트 필드 하단에 글자 수 통계를 표시할 수 있습니다.
비밀번호 필드
type="password"일 때 toggle-password 속성을 추가하면 텍스트 필드 오른쪽에 비밀번호 표시 전환 버튼을 추가할 수 있습니다.
API
속성
| HTML 속성 | JavaScript 프로퍼티 | Reflect | 유형 | 기본값 |
|---|---|---|---|---|
variant | variant | 'filled' | 'outlined' | 'filled' | |
텍스트 필드의 모양입니다. 기본값은
| ||||
type | type | 'text' | 'number' | 'password' | 'url' | 'email' | 'search' | 'tel' | 'hidden' | 'date' | 'datetime-local' | 'month' | 'time' | 'week' | 'text' | |
텍스트 필드 입력 유형입니다. 기본값은
| ||||
name | name | string | '' | |
텍스트 필드 이름이며, 폼 데이터와 함께 제출됩니다. | ||||
value | value | string | '' | |
텍스트 필드의 값이며, 폼 데이터와 함께 제출됩니다. | ||||
defaultValue | string | '' | ||
기본값입니다. 폼을 재설정할 때 이 기본값으로 재설정됩니다. 이 프로퍼티는 JavaScript 프로퍼티로만 설정할 수 있습니다. | ||||
label | label | string | - | |
레이블 텍스트입니다. | ||||
placeholder | placeholder | string | - | |
플레이스홀더 텍스트입니다. | ||||
helper | helper | string | - | |
텍스트 필드 하단의 도움말 텍스트입니다. | ||||
helper-on-focus | helperOnFocus | boolean | false | |
포커스를 얻었을 때만 하단 도움말 텍스트를 표시할지 여부를 설정합니다. | ||||
clearable | clearable | boolean | false | |
텍스트 필드 콘텐츠를 비울 수 있는지 여부를 설정합니다. | ||||
clear-icon | clearIcon | string | - | |
텍스트 필드를 비울 수 있을 때 텍스트 필드 오른쪽에 표시되는 지우기 버튼의 Material Icons 아이콘 이름입니다. | ||||
end-aligned | endAligned | boolean | false | |
텍스트를 오른쪽 정렬할지 여부를 설정합니다. | ||||
prefix | prefix | string | - | |
텍스트 필드의 접두사 텍스트입니다. 텍스트 필드가 포커스되거나 값이 있을 때만 표시됩니다. | ||||
suffix | suffix | string | - | |
텍스트 필드의 접미사 텍스트입니다. 텍스트 필드가 포커스되거나 값이 있을 때만 표시됩니다. | ||||
icon | icon | string | - | |
텍스트 필드 앞쪽 아이콘의 Material Icons 아이콘 이름입니다. | ||||
end-icon | endIcon | string | - | |
텍스트 필드 뒤쪽 아이콘의 Material Icons 아이콘 이름입니다. | ||||
error-icon | errorIcon | string | - | |
폼 필드 유효성 검사 실패 시 텍스트 필드 오른쪽에 표시되는 Material Icons 아이콘 이름입니다. | ||||
form | form | string | - | |
연결된 이 속성을 지정하지 않으면 이 요소는 | ||||
readonly | readonly | boolean | false | |
읽기 전용 여부를 설정합니다. | ||||
disabled | disabled | boolean | false | |
입력 필드를 비활성화할지 여부를 설정합니다. | ||||
required | required | boolean | false | |
폼 제출 시 이 필드가 필수인지 여부를 설정합니다. | ||||
rows | rows | number | - | |
텍스트 필드의 고정 줄 수입니다. | ||||
autosize | autosize | boolean | false | |
입력 콘텐츠에 따라 텍스트 필드 높이를 자동으로 조정할지 여부를 설정합니다. | ||||
min-rows | minRows | number | - | |
| ||||
max-rows | maxRows | number | - | |
| ||||
minlength | minlength | number | - | |
허용되는 최소 문자 수입니다. | ||||
maxlength | maxlength | number | - | |
허용되는 최대 문자 수입니다. | ||||
counter | counter | boolean | false | |
글자 수 통계를 표시할지 여부를 설정합니다. | ||||
min | min | number | - | |
| ||||
max | max | number | - | |
| ||||
step | step | number | - | |
| ||||
pattern | pattern | string | - | |
폼 유효성 검사에 사용되는 정규 표현식입니다. | ||||
toggle-password | togglePassword | boolean | false | |
| ||||
show-password-icon | showPasswordIcon | string | - | |
비밀번호 토글 버튼의 Material Icons 아이콘으로, 비밀번호가 일반 텍스트일 때 표시됩니다. | ||||
hide-password-icon | hidePasswordIcon | string | - | |
비밀번호 토글 버튼의 Material Icons 아이콘으로, 비밀번호가 암호문일 때 표시됩니다. | ||||
autocapitalize | autocapitalize | 'none' | 'sentences' | 'words' | 'characters' | - | |
iOS의 비표준 속성으로, 텍스트의 첫 글자를 자동으로 대문자로 만들지 여부를 제어합니다. iOS5 이상 버전에서 유효합니다. 사용 가능한 값:
| ||||
autocorrect | autocorrect | string | - | |
| ||||
autocomplete | autocomplete | string | - | |
| ||||
enterkeyhint | enterkeyhint | 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | - | |
| ||||
spellcheck | spellcheck | boolean | false | |
맞춤법 검사를 활성화할지 여부를 설정합니다. | ||||
inputmode | inputmode | 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url' | - | |
| ||||
validity | ValidityState | - | ||
폼 유효성 검사 상태 객체입니다. 자세한 내용은 | ||||
validationMessage | string | - | ||
폼 유효성 검사를 통과하지 못하면 오류 메시지가 포함되고, 통과하면 빈 문자열입니다. | ||||
valueAsNumber | number | - | ||
현재 값을 가져와 | ||||
autofocus | autofocus | boolean | false | |
페이지 로드 후 자동으로 포커스를 받을지 여부를 지정합니다. | ||||
tabindex | tabIndex | number | - | |
Tab 키를 사용하여 포커스를 이동할 때 요소의 순서를 지정합니다. | ||||
메서드
| 이름 | 매개변수 | 반환값 |
|---|---|---|
select | void | |
텍스트 필드의 텍스트를 선택합니다. | ||
setSelectionRange |
| void |
텍스트 필드에서 특정 범위의 콘텐츠를 선택합니다. | ||
setRangeText |
| void |
텍스트 필드에서 특정 범위의 텍스트를 새 텍스트로 바꿉니다. | ||
checkValidity | boolean | |
폼 필드가 유효성 검사를 통과하는지 확인합니다. 통과하지 못하면 | ||
reportValidity | boolean | |
폼 필드가 유효성 검사를 통과하는지 확인합니다. 통과하지 못하면 유효성 검사를 통과하지 못하면 컴포넌트에 유효성 검사 실패 메시지가 표시됩니다. | ||
setCustomValidity |
| void |
사용자 정의 오류 메시지 텍스트를 설정합니다. 이 텍스트가 비어 있지 않으면 필드가 유효성 검사를 통과하지 못했음을 나타냅니다. | ||
click | void | |
마우스 클릭을 시뮬레이션합니다. | ||
focus |
| void |
현재 요소에 포커스를 설정합니다. 객체를 인자로 전달할 수 있으며, 객체의 속성은 다음과 같습니다:
| ||
blur | void | |
현재 요소에서 포커스를 제거합니다. | ||
Slots
| 이름 |
|---|
icon |
왼쪽 아이콘 |
end-icon |
오른쪽 아이콘 |
error-icon |
유효성 검사 실패 상태의 오른쪽 아이콘 |
prefix |
왼쪽 텍스트 |
suffix |
오른쪽 텍스트 |
clear-button |
지우기 버튼 |
clear-icon |
지우기 버튼 내의 아이콘 |
toggle-password-button |
비밀번호 표시 상태 토글 버튼 |
show-password-icon |
비밀번호 표시 상태에서 비밀번호 표시 상태 토글 버튼 내의 아이콘 |
hide-password-icon |
비밀번호 숨김 상태에서 비밀번호 표시 상태 토글 버튼 내의 아이콘 |
helper |
하단의 도움말 텍스트 |
CSS Parts
| 이름 |
|---|
container |
텍스트 필드 컨테이너 |
icon |
왼쪽 아이콘 |
end-icon |
오른쪽 아이콘 |
error-icon |
유효성 검사 실패 상태의 오른쪽 아이콘 |
prefix |
왼쪽 텍스트 |
suffix |
오른쪽 텍스트 |
label |
상단의 레이블 텍스트 |
input |
내부의 |
clear-button |
지우기 버튼 |
clear-icon |
지우기 버튼 내의 아이콘 |
toggle-password-button |
비밀번호 표시 상태 토글 버튼 |
show-password-icon |
비밀번호 표시 상태에서 비밀번호 표시 상태 토글 버튼 내의 아이콘 |
hide-password-icon |
비밀번호 숨김 상태에서 비밀번호 표시 상태 토글 버튼 내의 아이콘 |
supporting |
하단 보조 정보 컨테이너(helper, error, counter 포함) |
helper |
하단의 도움말 텍스트 |
error |
하단의 오류 설명 텍스트 |
counter |
하단 오른쪽의 글자 수 통계 |