Lewati ke konten

Toast - Vue

Toast

banner-background
import { Toast } from '@idds/vue';

Global Provider Setup

Untuk menggunakan Toast secara global, bungkus aplikasi Anda dengan ToastProvider di level root (misalnya di main.tsx atau App.vue). Ini memungkinkan Toast dipanggil dari komponen anak mana pun tanpa perlu render komponen Toast manual.

<template>
  <ToastProvider>
    <router-view />
  </ToastProvider>
</template>

<script setup lang="ts">
import { ToastProvider } from '@idds/vue';
import '@idds/vue/index.css';
</script>

Penggunaan (useToast Hook)

Gunakan hook useToast (React) atau composable useToast (Vue) di dalam komponen child untuk memicu notifikasi.

<script setup lang="ts">
import { useToast, Button } from '@idds/vue';

const { toast } = useToast();

const handleShowToast = () => {
  toast({
    state: 'positive',
    title: 'Berhasil',
    description: 'Data berhasil disimpan',
    duration: 3000,
  });
};
</script>

<template>
  <Button @click="handleShowToast">Show Toast</Button>
</template>
NameTypeDefaultRequiredDescription
id?stringNoID unik untuk toast.
title?stringNoJudul toast.
message?stringNoPesan toast (atau gunakan slot default).
state?'default' | 'destructive' | 'positive''default'NoState toast.
icon?ComponentNoIcon custom untuk toast (opsional).
dismissible?booleantrueNoApakah toast bisa ditutup.
dismissLabel?string'Dismiss toast'NoLabel untuk tombol dismiss (accessibility).
duration?number5000NoDurasi toast dalam milidetik sebelum auto-close (0 = tidak auto-close).
position?'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center''top-right'NoPosisi toast di layar.
class?string''NoHTML standard attribute `class` untuk container (fallthrough).