import React, { useState } from 'react'; import { Text } from 'react-native'; import { Toast, Button, Space } from '@xrnjs/ui'; import Card from '_global/Card'; import styles from './style'; /** * 高级功能示例 */ const AdvancedFeatures = () => { const [defaultConfig, setDefaultConfig] = useState(false); const setCustomDefaults = () => { Toast.setDefaultOptions({ duration: 1000, position: 'top', }); setDefaultConfig(true); }; const resetDefaults = () => { Toast.resetDefaultOptions({}); setDefaultConfig(false); }; const simulateNetworkRequest = () => { // 模拟网络请求流程 const loadingInstance = Toast.loading({ message: '正在连接服务器...', duration: 0, forbidPress: true, }); setTimeout(() => { loadingInstance.setMessage('正在验证用户信息...'); }, 1000); setTimeout(() => { loadingInstance.setMessage('正在获取数据...'); }, 2000); setTimeout(() => { loadingInstance.close(); Toast.success('数据获取成功'); }, 3000); }; const simulateFileUpload = () => { let progress = 0; const loadingInstance = Toast.loading({ message: `上传进度: ${progress}%`, duration: 0, forbidPress: true, }); const updateProgress = () => { if (progress < 100) { progress += Math.random() * 20; if (progress > 100) progress = 100; loadingInstance.setMessage(`上传进度: ${Math.floor(progress)}%`); setTimeout(updateProgress, 300); } else { loadingInstance.close(); Toast.success('文件上传完成'); } }; updateProgress(); }; return ( 全局配置 设置和重置全局默认配置 当前配置状态: {defaultConfig ? '自定义配置' : '默认配置'} 特定类型配置 为特定类型的 Toast 设置默认配置 复杂业务场景 模拟真实业务场景的 Toast 使用 队列管理 管理多个 Toast 的显示队列 实例控制 精确控制单个 Toast 实例 ); }; export default AdvancedFeatures;