Chip칩
칩 컴포넌트는 사용자 정보 입력, 선택, 콘텐츠 필터링 또는 관련 작업 실행을 보조할 때 사용합니다.
사용법
컴포넌트 가져오기:
import 'mdui/components/chip.js';
컴포넌트의 TypeScript 타입 가져오기:
import type { Chip } from 'mdui/components/chip.js';
사용 예시:
<mdui-chip>Chip</mdui-chip>예시
형태
variant 속성을 사용해 칩의 형태를 설정합니다. 칩은 4가지 형태가 있으며 용도에 따라 선택할 수 있습니다:
assist: 현재 컨텍스트와 관련된 보조 작업을 표시할 때 사용합니다. 예를 들어 주문 페이지에서 공유, 즐겨찾기 등의 기능을 제공합니다.filter: 콘텐츠를 필터링할 때 사용합니다. 예를 들어 검색 결과 페이지에서 검색 결과를 필터링합니다.input: 사용자가 입력한 정보 조각을 나타내는 데 사용됩니다. 예를 들어 Gmail의 "받는 사람" 필드의 연락처입니다.suggestion: 사용자 작업을 간소화하기 위해 동적으로 생성된 추천 정보를 제공할 때 사용합니다. 예를 들어 채팅 앱에서 사용자가 보낼 수 있는 메시지를 추측하여 선택할 수 있도록 제공합니다.
그림자
elevated 속성을 추가하면 칩에 그림자가 생깁니다.
아이콘
icon, end-icon 속성을 추가하면 각각 칩 왼쪽, 오른쪽에 Material Icons 아이콘을 추가할 수 있습니다. icon, end-icon 슬롯을 통해 칩 왼쪽, 오른쪽에 요소를 추가할 수도 있습니다.
링크
href 속성을 추가하면 칩이 링크로 변경되며, 이때 링크 관련 속성(download, target, rel)도 함께 사용합니다.
비활성화 및 로딩 중 상태
disabled 속성을 추가하면 칩을 비활성화할 수 있습니다. loading 속성을 추가하면 칩에 로딩 중 상태를 추가할 수 있습니다.
선택 가능
selectable 속성을 추가하면 칩을 선택할 수 있습니다.
selected-icon 속성을 사용해 선택 상태의 Material Icons 아이콘 이름을 지정할 수 있습니다. selected-icon 슬롯을 통해 선택 상태의 아이콘 요소를 지정할 수도 있습니다.
칩이 선택되면 selected 속성이 true로 변경됩니다. selected 속성을 추가하여 칩이 기본적으로 선택된 상태가 되도록 할 수도 있습니다.
삭제 가능
deletable 속성을 추가하면 칩 오른쪽에 삭제 아이콘이 나타납니다. 이 아이콘을 클릭하면 delete 이벤트가 트리거됩니다. delete-icon 속성으로 삭제 아이콘의 Material Icons 아이콘 이름을 지정하거나 delete-icon 슬롯을 통해 삭제 아이콘의 요소를 지정할 수 있습니다.
API
속성
| HTML 속성 | JavaScript 프로퍼티 | Reflect | 유형 | 기본값 |
|---|---|---|---|---|
variant | variant | 'assist' | 'filter' | 'input' | 'suggestion' | 'assist' | |
칩의 모양입니다. 사용 가능한 값은 다음과 같습니다:
| ||||
elevated | elevated | boolean | false | |
그림자를 표시할지 여부를 설정합니다. | ||||
selectable | selectable | boolean | false | |
선택 가능 여부를 설정합니다. | ||||
selected | selected | boolean | false | |
선택됨 여부를 설정합니다. | ||||
deletable | deletable | boolean | false | |
삭제 가능 여부를 설정합니다. | ||||
icon | icon | string | - | |
왼쪽의 Material Icons 아이콘 이름입니다. | ||||
selected-icon | selectedIcon | string | - | |
선택됨 상태일 때 왼쪽의 Material Icons 아이콘 이름입니다. | ||||
end-icon | endIcon | string | - | |
오른쪽의 Material Icons 아이콘 이름입니다. | ||||
delete-icon | deleteIcon | 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 |
사용자 정의 오류 메시지 텍스트를 설정합니다. 이 텍스트가 비어 있지 않으면 필드가 유효성 검사를 통과하지 못했음을 나타냅니다. | ||
Slots
| 이름 |
|---|
| 기본 |
칩 텍스트 |
icon |
왼쪽 요소 |
end-icon |
오른쪽 요소 |
selected-icon |
선택됨 상태의 왼쪽 요소 |
delete-icon |
삭제 가능할 때 오른쪽 삭제 요소 |
CSS Parts
| 이름 |
|---|
button |
내부의 |
label |
칩 텍스트 |
icon |
왼쪽 아이콘 |
end-icon |
오른쪽 아이콘 |
selected-icon |
선택됨 상태의 왼쪽 아이콘 |
delete-icon |
삭제 가능할 때 오른쪽 삭제 아이콘 |
loading |
로딩 중 상태의 |
CSS 사용자 정의 속성
| 이름 |
|---|
--shape-corner |
컴포넌트의 둥근 모서리 크기입니다. 구체적인 픽셀 값을 지정할 수 있지만, 디자인 토큰을 참조하는 것을 권장합니다. |