Skip to content

<Toaster /> API

This component will render all toasts.

Available options

vue
<Toaster
  position="top-center"
  :reverse-order="false"
  :toast-options="{
    // Define default options
    duration: 5000,
    style: {
      background: '#363636',
      color: '#fff',
    },
    // Default options for specific types
    success: {
      duration: 3000,
      theme: {
        primary: 'green',
        secondary: 'black',
      },
    },
  }"
/>

position Prop

You can change the position of all toasts by modifying supplying positon prop.

Positions
top-lefttop-centertop-right
bottom-leftbottom-centerbottom-right

reverseOrder Prop

Toasts spawn at top by default. Set to true if you want new toasts at the end.

gutter Prop

Changes the gap between each toast. Defaults to 8.

toastOptions Prop

These will act as default options for all toasts. See toast() for all available options.

Type specific options

You can change the defaults for a specific type by adding, success: {}, error: {}, loading: {} or custom: {}.

Add custom content

vue
<Toaster position="bottom-center" :toast-options="{ duration: 500000 }">
  <div>Custom toast bar</div>
</Toaster>

Or:

vue
<Toaster position="bottom-center" :toast-options="{ duration: 500000 }">
  <template #toastbar>
    ToastBar Slot
  </template> 
</Toaster>

Or:

vue
<Toaster position="bottom-center" :toast-options="{ duration: 500000 }">
  <template #toastBar="{ toast, position }">
    <ToastBar
      :toast="toast"
      :position="position"
    >
      <button @click="handleDismiss(toast)">
        X
      </button>
    </ToastBar>
  </template>
</Toaster>