import React, { useContext } from 'react'; import { Button, FloatingLayer, Provider, Space } from '@xrnjs/ui'; import { View, Text, Alert } from 'react-native'; import styles from './style'; import Card from '_global/Card'; import { PortalContext } from '../../../core/portal/portal-host'; const ApiUsageScreen = () => { const { open } = FloatingLayer.useFloatingLayer(); const { tag } = useContext(PortalContext); const showBasicLayer = () => { const { close } = FloatingLayer.open({ title: 'API 调用浮层', closeOnPressOverlay: true, portalTag: tag, children: ( 这是通过 API 调用的浮层 使用 FloatingLayer.open() 方法可以快速创建浮层 ), showCancelButton: true, onCancel: () => close(), }); }; const showHookLayer = () => { const { close } = open({ title: 'API 调用浮层', closeOnPressOverlay: true, children: ( 这是通过 API 调用的浮层 使用 FloatingLayer.open() 方法可以快速创建浮层 ), showCancelButton: true, onCancel: () => close(), }); }; const showConfirmLayer = () => { const { close } = FloatingLayer.open({ title: '确认操作', description: '请确认是否要执行此操作?', children: ( 这是一个确认对话框,点击确认或取消按钮来关闭 ), showCancelButton: true, showConfirmButton: true, cancelButtonText: '取消', confirmButtonText: '确认', onCancel: () => { close(); Alert.alert('提示', '操作已取消'); }, onConfirm: () => { close(); Alert.alert('提示', '操作已确认'); }, }); }; const showListLayer = () => { const options = ['选项一', '选项二', '选项三', '选项四']; const { close } = FloatingLayer.open({ title: '选择选项', children: ( {options.map((option, index) => ( ))} ), showCancelButton: true, onCancel: () => close(), }); }; const showCustomContentLayer = () => { const { close } = FloatingLayer.open({ title: '自定义内容', description: '展示各种内容类型', children: ( 📊 数据统计 总计:1,234 今日:56 ⚠️ 注意事项 • 由于使用 Portal 实现,不建议在 API 调用中使用复杂的输入组件 • 适合展示信息、简单交互和确认对话框 ), showCancelButton: true, onCancel: () => close(), }); }; const showMultipleLayer = () => { // 第一个浮层 const { close: close1 } = FloatingLayer.open({ title: '第一个浮层', children: ( 这是第一个浮层 ), showCancelButton: true, onCancel: () => close2(), }); }} > 打开第二个浮层 ), showCancelButton: true, onCancel: () => close1(), }); }; return ( 使用 FloatingLayer.open() 快速创建浮层 多层Provider时,关闭能同时到销毁所有浮层 带确认和取消按钮的对话框 展示可选择的选项列表 展示复杂的自定义内容和注意事项 演示多个浮层的管理和关闭 ); }; export default ApiUsageScreen;