event
事件系统允许您向后端发送事件并监听来自后端事件。
当 tauri.conf.json
中的 app.withGlobalTauri
设置为 true
时,此包也可以通过 window.__TAURI__.event
访问。
1.1.0
DRAG_DROP: "tauri://drag-drop";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L71
DRAG_ENTER: "tauri://drag-enter";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L69
DRAG_LEAVE: "tauri://drag-leave";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L72
DRAG_OVER: "tauri://drag-over";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L70
WEBVIEW_CREATED: "tauri://webview-created";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L68
WINDOW_BLUR: "tauri://blur";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L64
WINDOW_CLOSE_REQUESTED: "tauri://close-requested";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L61
WINDOW_CREATED: "tauri://window-created";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L67
WINDOW_DESTROYED: "tauri://destroyed";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L62
WINDOW_FOCUS: "tauri://focus";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L63
WINDOW_MOVED: "tauri://move";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L60
WINDOW_RESIZED: "tauri://resize";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L59
WINDOW_SCALE_FACTOR_CHANGED: "tauri://scale-change";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L65
WINDOW_THEME_CHANGED: "tauri://theme-changed";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L66
类型参数 |
---|
T |
属性 | 类型 | 描述 | 定义于 |
---|---|---|---|
event | EventName | 事件名称 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L32 |
id | 数字 | 用于取消监听的事件标识符 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L34 |
payload | T | 事件载荷 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L36 |
属性 | 类型 | 描述 | 定义于 |
---|---|---|---|
target? | string | EventTarget | 监听事件的目标,默认为 { kind: 'Any' } ,参见 EventTarget。如果提供了字符串,则使用 EventTarget.AnyLabel。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L52 |
type EventCallback<T>: (event) => void;
类型参数 |
---|
T |
参数 | 类型 |
---|---|
event | Event <T > |
空
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L39
type EventName: `${TauriEvent}` | string & Record<never, never>;
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L44
type EventTarget: | object | object | object | object | object | object;
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L22
type UnlistenFn: () => void;
空
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L42
function emit<T>(event, payload?): Promise<void>
向所有 目标 发出事件。
类型参数 |
---|
T |
参数 | 类型 | 描述 |
---|---|---|
event | 字符串 | 事件名称。必须只包含字母数字字符、- 、/ 、: 和 _ 。 |
载荷 (payload) ? | T | 事件载荷。 |
Promise
<void
>
import { emit } from '@tauri-apps/api/event';await emit('frontend-loaded', { loggedIn: true, token: 'authToken' });
1.0.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L186
function emitTo<T>( target, event,payload?): Promise<void>
向所有与给定目标匹配的 目标 发出事件。
类型参数 |
---|
T |
参数 | 类型 | 描述 |
---|---|---|
目标 | string | EventTarget | 目标窗口/WebView/WebviewWindow 的标签,或原始 EventTarget 对象。 |
event | 字符串 | 事件名称。必须只包含字母数字字符、- 、/ 、: 和 _ 。 |
载荷 (payload) ? | T | 事件载荷。 |
Promise
<void
>
import { emitTo } from '@tauri-apps/api/event';await emitTo('main', 'frontend-loaded', { loggedIn: true, token: 'authToken' });
2.0.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L208
function listen<T>( event, handler,options?): Promise<UnlistenFn>
监听发给任何 目标 的事件。
类型参数 |
---|
T |
参数 | 类型 | 描述 |
---|---|---|
event | EventName | 事件名称。必须只包含字母数字字符、- 、/ 、: 和 _ 。 |
处理程序 | EventCallback <T > | 事件处理回调。 |
选项 ? | 选项 | 事件监听选项。 |
一个解析为取消监听事件函数的 Promise。请注意,如果您的监听器超出范围(例如组件已卸载),则必须删除该监听器。
import { listen } from '@tauri-apps/api/event';const unlisten = await listen<string>('error', (event) => { console.log(`Got error, payload: ${event.payload}`);});
// you need to call unlisten if your handler goes out of scope e.g. the component is unmountedunlisten();
1.0.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L113
function once<T>( event, handler,options?): Promise<UnlistenFn>
对任何 目标 发出的事件只监听一次。
类型参数 |
---|
T |
参数 | 类型 | 描述 |
---|---|---|
event | EventName | 事件名称。必须只包含字母数字字符、- 、/ 、: 和 _ 。 |
处理程序 | EventCallback <T > | 事件处理回调。 |
选项 ? | 选项 | 事件监听选项。 |
一个解析为取消监听事件函数的 Promise。请注意,如果您的监听器超出范围(例如组件已卸载),则必须删除该监听器。
import { once } from '@tauri-apps/api/event';interface LoadedPayload { loggedIn: boolean, token: string}const unlisten = await once<LoadedPayload>('loaded', (event) => { console.log(`App is loaded, loggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);});
// you need to call unlisten if your handler goes out of scope e.g. the component is unmountedunlisten();
1.0.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/event.ts#L157
© 2025 Tauri 贡献者。CC-BY / MIT