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: () => close1(),
});
};
return (
FloatingLayer.open()
使用 FloatingLayer.open() 快速创建浮层
FloatingLayer.open()
useFloatingLayer.open()
多层Provider时,关闭能同时到销毁所有浮层
显示确认对话框
带确认和取消按钮的对话框
显示选项列表
展示可选择的选项列表
显示自定义内容
展示复杂的自定义内容和注意事项
多层浮层示例
演示多个浮层的管理和关闭
);
};
export default ApiUsageScreen;