From 54d32777116eab314b57d468f6f68db58ee98858 Mon Sep 17 00:00:00 2001 From: neverland Date: Wed, 11 Jul 2018 21:24:26 +0800 Subject: [PATCH] [Improvement] Toast: type definition (#1468) --- types/dialog.d.ts | 2 +- types/toast.d.ts | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/types/dialog.d.ts b/types/dialog.d.ts index a6a65d630..9bd1aaadd 100644 --- a/types/dialog.d.ts +++ b/types/dialog.d.ts @@ -1,5 +1,5 @@ type DialogAction = 'confirm' | 'cancel'; -type DialogDone = (close: boolean) => void; +type DialogDone = (close?: boolean) => void; export type DialogOptions = { title?: string; diff --git a/types/toast.d.ts b/types/toast.d.ts index f441abfce..f85a2c387 100644 --- a/types/toast.d.ts +++ b/types/toast.d.ts @@ -1,17 +1,30 @@ +import Vue from 'vue'; +import { VanPopupMixin } from './mixins/popup'; + +type ToastMessage = string | number; + export type ToastOptions = { type?: string; mask?: boolean; - message?: string; position?: string; duration?: number; forbidClick?: boolean; + message?: ToastMessage; +} + +export interface VanToast extends Vue, VanPopupMixin { + type: string; + position: string; + loadingType: string; + forbidClick: boolean; + message: ToastMessage; } export interface Toast { - (message: ToastOptions | string, options?: ToastOptions): void; - loading(options?: ToastOptions | string): void; - success(options?: ToastOptions | string): void; - fail(options?: ToastOptions | string): void; + (message: ToastOptions | ToastMessage, options?: ToastOptions): VanToast; + loading(options?: ToastOptions | ToastMessage): VanToast; + success(options?: ToastOptions | ToastMessage): VanToast; + fail(options?: ToastOptions | ToastMessage): VanToast; clear(): void; install(): void; setDefaultOptions(options: ToastOptions): void;