useToast 사용
앱에 토스트 알림을 표시하는 구성 가능한 구성 요소입니다.
Usage
자동으로 가져온 useToast 컴포지션을 사용하여 Toast 알림을 표시합니다.
<script setup lang="ts">
const toast = useToast()
function showToast() {
toast.add({
title: 'New message',
description: 'You have a new message from Benjamin.',
actions: [{
icon: 'i-lucide-reply',
label: 'Reply',
color: 'neutral',
variant: 'outline',
onClick: () => {
toast.add({ title: 'Reply sent', color: 'success' })
}
}]
})
}
</script>
<template>
<UButton label="Show toast" @click="showToast" />
</template>
- x
useToast컴포지블은 Nuxt의useState를 사용하여 토스트 상태를 관리하여 응용 프로그램 전반에 걸쳐 반응성을 보장합니다. - A 최대 5개의 토스트가 기본적으로 표시됩니다. 이 제한을 초과하는 새 토스트를 추가하면 가장 오래된 토스트가 자동으로 제거됩니다.
App구성 요소에서toaster.max소품을 사용하여 변경합니다. - 토스트를 제거할 때, 실제로 상태에서 제거되기 전에 200ms의 지연이 발생하여 애니메이션을 종료할 수 있습니다.
API 파일
useToast()
useToast 컴포지블은 토스트 알림을 전역적으로 관리하는 방법을 제공합니다.
add ()
add(toast: Partial<Toast>): Toast
새 토스트 알림을 추가합니다.
매개 변수
toast
Partial<Toast> required
다음과 같은 속성을 가진 부분
Toast 객체:id
string | number
토스트의 고유 식별자입니다. 제공되지 않으면 고유 ID가 생성됩니다. 기존 ID를 다시 사용하면 새 ID를 추가하지 않고 토스트에 병합됩니다.
open
boolean
토스트가 열려 있는지 여부. 기본값은
true입니다.title
string | VNode | (() => VNode)
토스트에 표시되는 제목입니다.
description
string | VNode | (() => VNode)
토스트에 표시되는 설명입니다.
icon
string
토스트에 표시된 아이콘입니다.
avatar
AvatarProps
토스트에 표시된 아바타입니다. Avatar를 참조하십시오.
color
string
토스트의 색상입니다. 기본값은
primary입니다.orientation
'horizontal' | 'vertical'
내용과 작업 사이의 방향입니다. 기본값은
vertical입니다.close
boolean | Omit<ButtonProps, LinkPropsKeys>
닫기 단추(
false 값)를 사용자 정의하거나 숨깁니다. 기본값은 true입니다.closeIcon
string
닫기 버튼에 표시되는 아이콘입니다.
actions
ButtonProps[]
토스트에 표시되는 동작입니다. Button 를 참조하십시오.
progress
boolean | Pick<ProgressProps, 'color' | 'ui'>
진행률 표시줄을 사용자 정의하거나 숨깁니다(
false 값). 기본값은 true입니다.duration
number
토스트가 자동으로 닫히기 전의 시간(밀리초)입니다. 기본값은
5000입니다. 토스트가 수동으로 닫힐 때까지 열려 있도록 하려면 0로 설정합니다. App 구성 요소에서 전역적으로 설정할 수도 있습니다.onClick
(toast: Toast) => void
토스트를 클릭하면 호출되는 콜백 함수입니다.
onUpdateOpen
(open: boolean) => void
토스트가 열려 있는 상태가 변경될 때 호출되는 콜백 함수입니다. 토스트가 만료되었거나 취소되었을 때 작업을 수행하는 데 유용합니다.
type
'foreground' | 'background'
보조 기술이 토스트를 발표하는 방법. 직접 사용자 작업의 결과가 아닌 토스트에는
background를 사용하십시오.as
any
토스트가 렌더링하는 요소 또는 구성요소입니다. 기본값은
li입니다.**Returns: ** 추가된 전체 Toast 개체입니다.
<script setup lang="ts">
const toast = useToast()
function showToast() {
toast.add({
title: 'Success',
description: 'Your action was completed successfully.',
color: 'success'
})
}
</script>
update ()
update(id: string | number, toast: Omit<Partial<Toast>, 'id'>): void
기존 토스트 알림을 업데이트합니다.
매개 변수
id
string | number required
업데이트할 토스트의 고유한 식별자입니다.
toast
Omit<Partial<Toast>, 'id'> required
갱신할 등록 정보가 있는
Toast 객체의 일부입니다. id는 변경할 수 없으며, 토스트가 다시 열리며, duration는 다시 전달하지 않으면 재설정됩니다.<script setup lang="ts">
const toast = useToast()
function updateToast(id: string | number) {
toast.update(id, {
title: 'Updated Toast',
description: 'This toast has been updated.'
})
}
</script>
remove ()
remove(id: string | number): void
토스트 알림을 제거합니다.
매개변수
id
string | number required
제거할 토스트의 고유 식별자입니다.
<script setup lang="ts">
const toast = useToast()
function removeToast(id: string | number) {
toast.remove(id)
}
</script>
clear ()
clear(): void
토스트 알림을 모두 삭제합니다.
<script setup lang="ts">
const toast = useToast()
function clearAllToasts() {
toast.clear()
}
</script>
toast (### toast) - 토스터 (### toast)
toasts: Ref<Toast[]> (toasts: Ref<Toast[]>)
모든 현재 토스트 알림을 포함하는 반응형 배열입니다.
<script setup lang="ts">
const { toasts } = useToast()
</script>
<template>
<div>
<pre>{{ toasts }}</pre>
</div>
</template>