Action
Action
类型定义
export type Action = {
data: any;
name?: string;
componentId?: string;
isDeleted?: boolean;
type:
| "Link"
| "SiteLink"
| "Trace"
| "Anchor"
| "OpenPopup"
| "ClosePopup"
| "CloseAllPopup"
| "Toast"
| "PlayAudio"
| "PauseAudio"
| "PlayVideo"
| "PlayLottie"
| "PauseLottie"
| "Copy"
| "CallPhone"
| "Reload"
| "GoBack"
| "ViewPicture"
| "OpenConditionContainer"
| "SwitchImage";
id: string;
label: string;
};
字段说明
字段 | 类型 | 必选 | 描述 |
---|---|---|---|
data | any | 是 | 动作关联的数据,具体内容根据 type 决定。 |
dataType | 'string' 或 'boolean' 或 'json' 或 'number' | 否 | 数据的类型,用于解析 data 字段。 |
name | string | 否 | 自定义事件名称,主要用于组件或页面的交互。 |
componentId | string | 否 | 关联的组件 ID,用于指定动作的目标组件。 |
isDeleted | boolean | 否 | 标记动作是否已被删除(逻辑删除)。 |
type | 'Link' 或 'SiteLink' 或 'Trace' 或 'Anchor' 或 'OpenPopup' 或 'ClosePopup' 或 'CloseAllPopup' 或 'Toast' 或 'PlayAudio' 或 'PauseAudio' 或 'PlayVideo' 或 'PlayLottie' 或 'PauseLottie' 或 'Copy' 或 'CallPhone' 或 'Reload' 或 'GoBack' 或 'ViewPicture' 或 'OpenConditionContainer' 或 'SwitchImage' | 是 | 动作的类型,决定动作的具体行为。 |
id | string | 是 | 动作的唯一标识符。 |
label | string | 是 | 动作的显示名称,用于界面展示。 |
动作类型说明
类型 | 描述 |
---|---|
'Link' | 跳转到指定链接。 |
'SiteLink' | 跳转到站点内链接。 |
'Trace' | 埋点追踪,用于数据统计。 |
'Anchor' | 页面内锚点跳转。 |
'OpenPopup' | 打开弹窗。 |
'ClosePopup' | 关闭当前弹窗。 |
'CloseAllPopup' | 关闭所有弹窗。 |
'Toast' | 显示提示消息。 |
'PlayAudio' | 播放音频。 |
'PauseAudio' | 暂停音频播放。 |
'PlayVideo' | 播放视频。 |
'PlayLottie' | 播放 Lottie 动画。 |
'PauseLottie' | 暂停 Lottie 动画。 |
'Copy' | 复制内容到剪贴板。 |
'CallPhone' | 拨打电话。 |
'Reload' | 重新加载页面或组件。 |
'GoBack' | 返回上一页。 |
'ViewPicture' | 查看图片(全屏或放大)。 |
'OpenConditionContainer' | 打开条件容器(动态显示内容)。 |
'SwitchImage' | 切换图片(图片切换器)。 |
示例
跳转链接动作
const linkAction: Action = {
data: "https://example.com",
dataType: "string",
type: "Link",
id: "action-1",
label: "跳转到示例网站",
};
显示提示消息动作
const toastAction: Action = {
data: "操作成功!",
dataType: "string",
type: "Toast",
id: "action-2",
label: "显示成功提示",
};
播放音频动作
const playAudioAction: Action = {
data: "https://example.com/audio.mp3",
dataType: "string",
type: "PlayAudio",
id: "action-3",
label: "播放背景音乐",
};
关闭弹窗动作
const closePopupAction: Action = {
type: "ClosePopup",
id: "action-4",
label: "关闭弹窗",
};
注意事项
data
字段- 根据
type
的不同,data
的内容和格式会有所变化。例如:'Link'
类型需提供 URL。'Toast'
类型需提供提示文本。
- 根据
componentId
字段- 当动作需要绑定到特定组件时使用(如
'SwitchImage'
需要指定轮播图组件)。
- 当动作需要绑定到特定组件时使用(如
isDeleted
字段- 用于逻辑删除,实际数据可能仍保留在系统中。