Button버튼
버튼은 주로 이메일 보내기, 문서 공유, 게시물 좋아요 등의 작업을 실행할 때 사용합니다.
사용법
컴포넌트 가져오기:
import 'mdui/components/button.js';
컴포넌트의 TypeScript 타입 가져오기:
import type { Button } from 'mdui/components/button.js';
사용 예시:
<mdui-button>Button</mdui-button>전체 너비
full-width 속성을 추가하면 버튼이 부모 요소의 전체 너비를 차지할 수 있습니다.
아이콘
icon, end-icon 속성을 설정하면 버튼 왼쪽, 오른쪽에 각각 Material Icons 아이콘을 추가할 수 있습니다. icon, end-icon 슬롯을 통해 버튼 왼쪽, 오른쪽에 요소를 추가할 수도 있습니다.
링크
href 속성을 설정하면 버튼이 링크로 변경되며, 이때 링크 관련 속성(download, target, rel)도 함께 사용합니다.
비활성화 및 로딩 상태
disabled 속성을 추가하면 버튼을 비활성화할 수 있습니다. loading 속성을 추가하면 버튼에 로딩 중 상태를 추가할 수 있습니다.
API
속성
| HTML 속성 | JavaScript 프로퍼티 | Reflect | 유형 | 기본값 |
|---|---|---|---|---|
variant | variant | 'elevated' | 'filled' | 'tonal' | 'outlined' | 'text' | 'filled' | |
버튼의 모양입니다. 사용 가능한 값은 다음과 같습니다:
| ||||
full-width | fullWidth | boolean | false | |
부모 요소의 너비를 채울지 여부를 설정합니다. | ||||
icon | icon | string | - | |
왼쪽의 Material Icons 아이콘 이름입니다. | ||||
end-icon | endIcon | string | - | |
오른쪽의 Material Icons 아이콘 이름입니다. | ||||
href | href | string | - | |
링크의 대상 URL입니다. 이 속성을 설정하면 컴포넌트 내부가 | ||||
download | download | string | - | |
다운로드할 링크 대상을 지정합니다. 참고: | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
링크를 여는 방식을 지정합니다. 사용 가능한 값은 다음과 같습니다:
참고: | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
현재 문서와 링크된 문서 간의 관계를 나타냅니다. 사용 가능한 값은 다음과 같습니다:
참고: | ||||
autofocus | autofocus | boolean | false | |
페이지 로드 후 자동으로 포커스를 받을지 여부를 지정합니다. | ||||
tabindex | tabIndex | number | - | |
Tab 키를 사용하여 포커스를 이동할 때 요소의 순서를 지정합니다. | ||||
disabled | disabled | boolean | false | |
비활성화할지 여부를 설정합니다. | ||||
loading | loading | boolean | false | |
로딩할지 여부를 설정합니다. | ||||
name | name | string | '' | |
버튼의 이름이며, 폼 데이터와 함께 제출됩니다. 참고: | ||||
value | value | string | '' | |
버튼의 초기값이며, 폼 데이터와 함께 제출됩니다. 참고: | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
버튼의 유형입니다. 기본 유형은
참고: | ||||
form | form | string | - | |
연결된 이 속성을 지정하지 않으면 이 요소는 참고: | ||||
formaction | formAction | string | - | |
폼을 제출할 URL을 지정합니다. 이 속성이 지정되면 참고: | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
폼을 서버에 제출할 때의 콘텐츠 유형을 지정합니다. 사용 가능한 값은 다음과 같습니다:
이 속성이 지정되면 참고: | ||||
formmethod | formMethod | 'post' | 'get' | - | |
폼 제출 시 사용할 HTTP 메서드를 지정합니다. 사용 가능한 값은 다음과 같습니다:
이 속성이 설정되면 참고: | ||||
formnovalidate | formNoValidate | boolean | false | |
이 속성을 설정하면 폼 제출 시 폼 유효성 검사를 수행하지 않습니다. 이 속성을 설정하면 참고: | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
폼 제출 후 수신된 응답이 표시될 위치를 지정합니다. 사용 가능한 값은 다음과 같습니다:
이 속성을 설정하면 참고: | ||||
validity | ValidityState | - | ||
폼 유효성 검사 상태 객체입니다. 자세한 내용은 | ||||
validationMessage | string | - | ||
폼 유효성 검사를 통과하지 못하면 오류 메시지가 포함되고, 통과하면 빈 문자열입니다. | ||||
메서드
| 이름 | 매개변수 | 반환값 |
|---|---|---|
click | void | |
마우스 클릭을 시뮬레이션합니다. | ||
focus |
| void |
현재 요소에 포커스를 설정합니다. 객체를 인자로 전달할 수 있으며, 객체의 속성은 다음과 같습니다:
| ||
blur | void | |
현재 요소에서 포커스를 제거합니다. | ||
checkValidity | boolean | |
폼 필드가 유효성 검사를 통과하는지 확인합니다. 통과하지 못하면 | ||
reportValidity | boolean | |
폼 필드가 유효성 검사를 통과하는지 확인합니다. 통과하지 못하면 유효성 검사를 통과하지 못하면 컴포넌트에 유효성 검사 실패 메시지가 표시됩니다. | ||
setCustomValidity |
| void |
사용자 정의 오류 메시지 텍스트를 설정합니다. 이 텍스트가 비어 있지 않으면 필드가 유효성 검사를 통과하지 못했음을 나타냅니다. | ||
CSS 사용자 정의 속성
| 이름 |
|---|
--shape-corner |
컴포넌트의 둥근 모서리 크기입니다. 구체적인 픽셀 값을 지정할 수 있지만, 디자인 토큰을 참조하는 것을 권장합니다. |