进阶 reactnative.dev 2026-10-11 06:04:21 · 37 阅读
第3章 ActionSheetIOS:React Native iOS 原生操作菜单组件详解
版本:0.77 ActionSheetIOS 显示 iOS 原生 Action Sheet 组件。
示例
参考
方法
showActionSheetWithOptions()
React TSXstatic showActionSheetWithOptions: (
options: ActionSheetIOSOptions,
callback: (buttonIndex: number) => void,
);
显示 iOS 操作菜单(Action Sheet)。options 对象必须包含以下一项或多项: options(字符串数组)- 按钮标题列表(必填) cancelButtonIndex(整数)- 取消按钮在 options 中的索引 cancelButtonTintColor(字符串)- 取消按钮文字的颜色 destructiveButtonIndex(整数或整数数组)- 破坏性操作按钮在 options 中的索引 title(字符串)- 操作菜单上方的标题 message(字符串)- 标题下方显示的信息 anchor(数字)- 操作菜单锚定的节点(用于 iPad) tintColor(字符串)- 非破坏性按钮标题的颜色 disabledButtonIndices(数字数组)- 需要禁用的按钮索引列表 userInterfaceStyle(字符串)- 操作菜单的界面风格,可设为 light 或 dark,不设置则使用系统默认风格 callback 函数接收一个参数,即所选按钮的索引(从 0 开始)。 最简示例: React TSXActionSheetIOS.showActionSheetWithOptions(
{
options: ['Cancel', 'Remove'],
destructiveButtonIndex: 1,
cancelButtonIndex: 0,
},
buttonIndex => {
if (buttonIndex === 1) {
/* destructive action */
}
},
); dismissActionSheet() React TSXstatic dismissActionSheet();
关闭最上层已显示的 iOS 操作菜单。如果当前没有操作菜单,会显示一条警告。 showShareActionSheetWithOptions() React TSXstatic showShareActionSheetWithOptions: (
options: ShareActionSheetIOSOptions,
failureCallback: (error: Error) => void,
successCallback: (success: boolean, method: string) => void,
);
调用 iOS 分享面板。`options` 对象需包含 `message` 和 `url` 中的任意一项或两项,还可额外指定 `subject` 或 `excludedActivityTypes`: url(字符串)- 要分享的 URL message(字符串)- 要分享的消息 subject(字符串)- 消息主题 excludedActivityTypes(数组)- 从 ActionSheet 中排除的活动类型 注意:如果 url 指向本地文件,或是 base64 编码的 URI,系统将直接加载并分享该文件。借此,你可以分享图片、视频、PDF 文件等。如果 url 指向远程文件或地址,则必须符合 RFC 2396 中描述的 URL 格式。例如,缺少正确协议(HTTP/HTTPS)的网页 URL 将无法分享。 `failureCallback` 函数接受一个参数,即 error 对象。该对象仅定义了一个可选的 `stack` 属性,类型为 string。 `successCallback` 函数接受两个参数: 一个布尔值,指示成功或失败 一个字符串,在分享成功时,指示具体的分享方式
options: ActionSheetIOSOptions,
callback: (buttonIndex: number) => void,
);
显示 iOS 操作菜单(Action Sheet)。options 对象必须包含以下一项或多项: options(字符串数组)- 按钮标题列表(必填) cancelButtonIndex(整数)- 取消按钮在 options 中的索引 cancelButtonTintColor(字符串)- 取消按钮文字的颜色 destructiveButtonIndex(整数或整数数组)- 破坏性操作按钮在 options 中的索引 title(字符串)- 操作菜单上方的标题 message(字符串)- 标题下方显示的信息 anchor(数字)- 操作菜单锚定的节点(用于 iPad) tintColor(字符串)- 非破坏性按钮标题的颜色 disabledButtonIndices(数字数组)- 需要禁用的按钮索引列表 userInterfaceStyle(字符串)- 操作菜单的界面风格,可设为 light 或 dark,不设置则使用系统默认风格 callback 函数接收一个参数,即所选按钮的索引(从 0 开始)。 最简示例: React TSXActionSheetIOS.showActionSheetWithOptions(
{
options: ['Cancel', 'Remove'],
destructiveButtonIndex: 1,
cancelButtonIndex: 0,
},
buttonIndex => {
if (buttonIndex === 1) {
/* destructive action */
}
},
); dismissActionSheet() React TSXstatic dismissActionSheet();
关闭最上层已显示的 iOS 操作菜单。如果当前没有操作菜单,会显示一条警告。 showShareActionSheetWithOptions() React TSXstatic showShareActionSheetWithOptions: (
options: ShareActionSheetIOSOptions,
failureCallback: (error: Error) => void,
successCallback: (success: boolean, method: string) => void,
);
调用 iOS 分享面板。`options` 对象需包含 `message` 和 `url` 中的任意一项或两项,还可额外指定 `subject` 或 `excludedActivityTypes`: url(字符串)- 要分享的 URL message(字符串)- 要分享的消息 subject(字符串)- 消息主题 excludedActivityTypes(数组)- 从 ActionSheet 中排除的活动类型 注意:如果 url 指向本地文件,或是 base64 编码的 URI,系统将直接加载并分享该文件。借此,你可以分享图片、视频、PDF 文件等。如果 url 指向远程文件或地址,则必须符合 RFC 2396 中描述的 URL 格式。例如,缺少正确协议(HTTP/HTTPS)的网页 URL 将无法分享。 `failureCallback` 函数接受一个参数,即 error 对象。该对象仅定义了一个可选的 `stack` 属性,类型为 string。 `successCallback` 函数接受两个参数: 一个布尔值,指示成功或失败 一个字符串,在分享成功时,指示具体的分享方式