feat(Toast): improve type definitions (#5086)

This commit is contained in:
neverland 2019-11-23 09:49:59 +08:00 committed by GitHub
parent 23c419973a
commit dfd45e9299
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

19
types/toast.d.ts vendored
View File

@ -2,20 +2,23 @@ import Vue from 'vue';
import { VanPopupMixin } from './mixins/popup'; import { VanPopupMixin } from './mixins/popup';
type ToastMessage = string | number; type ToastMessage = string | number;
type ToastType = 'text' | 'loading' | 'success' | 'fail' | 'html';
type ToastPosition = 'top' | 'middle' | 'bottom';
type ToastLoadingType = 'circular' | 'spinner';
export type ToastOptions = { export type ToastOptions = {
icon?: string; icon?: string;
type?: string; type?: ToastType;
mask?: boolean; mask?: boolean;
message?: ToastMessage; message?: ToastMessage;
onClose?: () => void; onClose?: () => void;
onOpened?: () => void; onOpened?: () => void;
overlay?: boolean; overlay?: boolean;
duration?: number; duration?: number;
position?: string; position?: ToastPosition;
className?: any; className?: any;
transition?: string; transition?: string;
loadingType?: string; loadingType?: ToastLoadingType;
forbidClick?: boolean; forbidClick?: boolean;
closeOnClick?: boolean; closeOnClick?: boolean;
closeOnClickOverlay?: boolean; closeOnClickOverlay?: boolean;
@ -23,9 +26,9 @@ export type ToastOptions = {
}; };
export interface VanToast extends Vue, VanPopupMixin { export interface VanToast extends Vue, VanPopupMixin {
type: string; type: ToastType;
position: string; position: ToastPosition;
loadingType: string; loadingType: ToastLoadingType;
forbidClick: boolean; forbidClick: boolean;
message: ToastMessage; message: ToastMessage;
clear(): void; clear(): void;
@ -38,8 +41,8 @@ export interface Toast {
fail(options?: ToastOptions | ToastMessage): VanToast; fail(options?: ToastOptions | ToastMessage): VanToast;
clear(all?: boolean): void; clear(all?: boolean): void;
install(): void; install(): void;
setDefaultOptions(options: ToastOptions): void; setDefaultOptions(options: string | ToastOptions): void;
resetDefaultOptions(): void; resetDefaultOptions(options?: string): void;
allowMultiple(allow: boolean): void; allowMultiple(allow: boolean): void;
} }