Toast
작업 결과를 화면 가장자리에 잠깐 보여 주는 알림이에요. 저장했어요, 지웠어요처럼 결과만 알리면 될 때 써요. 읽고 나서 고쳐야 하는 내용은 화면에 남아야 해서 Callout을 써요.
사용 예시
결과 알리기
Toast는 앱에 하나만 둬요. 보통 레이아웃에 두고 페이지에서는 toast()만 호출해요.
tsx
다음 할 일 알리기
결과와 함께 다음 할 일이나 보이는 위치를 알릴 때는 아이콘 없이 띄워요.
tsx
성공과 실패
아이콘 모양이 달라서 색을 구별하지 못해도 결과를 알 수 있어요.
tsx
일부만 끝난 작업
작업은 끝났지만 확인할 내용이 남았을 때 써요. 실패가 아니라서 error는 쓰지 않아요.
tsx
할 수 없는 동작
권한이나 상태 때문에 할 수 없는 동작을 누르면 이유를 알려요. 버튼은 비활성으로 두지 않아요.
tsx
받는 사람을 1명 이상 고르세요.
권장
Callout은 화면에 남아서 언제든 다시 읽을 수 있어요.
지양
알림은 몇 초 뒤에 사라져요. 놓치면 고칠 내용을 다시 볼 수 없어요.
이유 한 줄
tsx
한 줄을 넘는 메시지
한 줄이면 글자 길이만큼의 pill이고, 설명이 있거나 줄이 바뀌면 둥근 사각형으로 바뀌어요.
tsx
ts
권장
실패한 이유를 한 줄로 적어요.
ts
지양
알림이 사라지기 전에 긴 글을 다 읽기 어려워요. 자세한 내용은 화면에 남겨요.
겹쳐 쌓기
버튼을 연달아 누르면 알림이 겹쳐 쌓이고, 마우스를 올리면 펼쳐져요.
tsx
ts
권장
한 번에 처리한 작업은 알림도 한 번만 띄워요.
ts
지양
같은 작업의 알림이 여러 개 쌓이면 화면을 가려요.
알림 안의 동작
알림을 놓치면 할 수 없게 되는 동작은 action에 두지 않아요.
메모 3개
ts
코드로 닫기
진행 중인 작업을 알리다가 작업이 끝나면 결과 알림으로 바꿀 때 써요.
ts
컨트롤
tsx
명세
| 이름 | 값 | 기본 |
|---|---|---|
| Toast | ||
| toastManager | ToastManager | toast.manager |
| 이 manager로 띄운 알림만 이 Toast에 나타나요. | ||
| position | top-left, top-center, top-right, bottom-left, bottom-center, bottom-right | bottom-center |
| timeout | number | 4000 |
| 알림이 보이는 시간이에요. 단위는 밀리초예요. | ||
| expand | boolean | false |
| 알림이 여러 개일 때 항상 펼쳐 둬요. | ||
| toast | ||
| toast() | (message, options?) | |
| 아이콘 없이 띄워요. | ||
| success | (message, options?) | |
| error | (message, options?) | |
| warning | (message, options?) | |
| info | (message, options?) | |
| dismiss | (id?) | |
| id를 넘기면 그 알림만, 없으면 전부 닫아요. | ||
| manager | ToastManager | |
| Toast의 toastManager에 넘기는 값이에요. | ||
| options | ||
| description | string | - |
| message 아래에 작은 글자로 보여요. 2줄을 넘으면 말줄임으로 잘려요. | ||
| action | { label, onClick } | - |
| 알림 오른쪽에 밑줄 글자 버튼을 보여요. 누르면 알림이 닫혀요. | ||
| createToast | ||
| createToast() | (manager?) | |
| toast와 같은 함수를 새 manager와 함께 만들어요. Toast를 여러 개 둘 때 써요. | ||