import React, { useRef, 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 LoadingToasts = () => { const [isLoading, setIsLoading] = useState(false); const loadingRef = useRef(); const startControlledLoading = () => { setIsLoading(true); loadingRef.current = Toast.loading({ message: '正在加载数据...', duration: 0, forbidPress: true, closeOnPress: true, // 添加备选关闭方式 }); // 模拟3秒后完成 setTimeout(() => { setIsLoading(false); loadingRef.current?.close(); Toast.success('数据加载完成'); }, 3000); }; const startCountdownLoading = () => { let count = 5; const buildMessage = () => `倒计时 ${count} 秒...`; const loadingInstance = Toast.loading({ message: buildMessage(), duration: 0, forbidPress: true, closeOnPress: true, // 添加备选关闭方式 }); const countdown = () => { if (count > 0) { loadingInstance?.setMessage(buildMessage()); count -= 1; setTimeout(countdown, 1000); } else { loadingInstance.close(); Toast.success('倒计时完成'); } }; countdown(); }; return ( 基础加载 基本的加载提示 受控加载 通过状态控制加载的显示和隐藏 动态内容 动态更新加载提示的内容 ); }; export default LoadingToasts;