Robert Zeng 991a7fd5bf
fix(vant-compat): [Toast][Dialog] fix missed and incorrect export error #12952 (#12953)
Co-authored-by: yongbo.zeng_U+ <yongbo.zeng@united-imaging.com>
2024-06-22 19:21:01 +08:00

59 lines
1.2 KiB
TypeScript

import {
showToast,
closeToast,
showFailToast,
showSuccessToast,
showLoadingToast,
allowMultipleToast,
setToastDefaultOptions,
resetToastDefaultOptions,
} from 'vant';
import type { App } from 'vue';
export const Toast = (...args: Parameters<typeof showToast>) => {
const toast = showToast(...args);
return {
clear: toast.close,
...toast,
};
};
Toast.fail = (...args: Parameters<typeof showFailToast>) => {
const toast = showFailToast(...args);
return {
clear: toast.close,
...toast,
};
};
Toast.success = (...args: Parameters<typeof showSuccessToast>) => {
const toast = showSuccessToast(...args);
return {
clear: toast.close,
...toast,
};
};
Toast.loading = (...args: Parameters<typeof showLoadingToast>) => {
const toast = showLoadingToast(...args);
return {
clear: toast.close,
...toast,
}
}
Toast.clear = closeToast;
Toast.allowMultiple = allowMultipleToast;
Toast.setDefaultOptions = setToastDefaultOptions;
Toast.resetDefaultOptions = resetToastDefaultOptions;
Toast.install = (app: App) => {
app.config.globalProperties.$toast = Toast;
};
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$toast: typeof Toast;
}
}