看板
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* u-toast 函数式调用事件名(全平台)
|
||||
* @description
|
||||
* - useToast() 通过 uni.$emit 派发事件
|
||||
* - <u-toast /> 通过 uni.$on 监听事件并转调自身 show/hide
|
||||
*/
|
||||
|
||||
import type { ToastProps } from './types';
|
||||
|
||||
// 普通(页面级)toast 事件
|
||||
export const U_TOAST_EVENT_SHOW = 'uview-pro:u-toast:show:';
|
||||
export const U_TOAST_EVENT_HIDE = 'uview-pro:u-toast:hide:';
|
||||
|
||||
// 全局(App 根部)toast 事件,供 useToast() 使用
|
||||
export const U_TOAST_GLOBAL_EVENT_SHOW = 'uview-pro:u-toast:global:show';
|
||||
export const U_TOAST_GLOBAL_EVENT_HIDE = 'uview-pro:u-toast:global:hide';
|
||||
|
||||
// 根据当前页面获取事件名
|
||||
export function getEventWithCurrentPage(event: string, page?: string | boolean) {
|
||||
if (page && typeof page === 'string' && page !== '') {
|
||||
return event + page;
|
||||
}
|
||||
return event + getCurrentPage();
|
||||
}
|
||||
|
||||
// 获取当前页面路由
|
||||
function getCurrentPage() {
|
||||
try {
|
||||
const pages = getCurrentPages();
|
||||
const currentPage = pages[pages.length - 1].route as string;
|
||||
return currentPage || '';
|
||||
} catch (error) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
export type ToastPayload = Partial<ToastProps> & {
|
||||
/** 文案(兼容 toast.show('xxx')) */
|
||||
title?: string;
|
||||
};
|
||||
Reference in New Issue
Block a user