import React from 'react'; import { Text, View } from 'react-native'; import { Checkbox, Space, Button, Size } from '@xrnjs/ui'; import Card from '_global/Card'; import styles from './style'; const AdvancedFeatures: React.FC = () => { const [controlledValue, setControlledValue] = React.useState(false); const [customValues, setCustomValues] = React.useState('off'); const [validationState, setValidationState] = React.useState< 'success' | 'error' | 'warning' >('success'); const [isValidating, setIsValidating] = React.useState(false); const [validationResult, setValidationResult] = React.useState(''); const handleValidationChange = (checked: boolean) => { if (checked) { setValidationState('success'); } else { setValidationState('error'); } }; const getValidationStyle = () => { switch (validationState) { case 'success': return styles.successText; case 'error': return styles.errorText; default: return {}; } }; return ( <> 受控组件 自定义值类型 console.log('数字值:', value)} /> 状态验证 {validationState === 'success' ? '✓ 验证通过' : '✗ 请同意用户协议'} 自定义样式 事件处理 { console.log('值变化:', value); }} /> { if (value) { setIsValidating(true); // 模拟验证用户是否有权限同意条款 const res = await new Promise((resolve) => setTimeout(() => resolve(Math.random()), 1000) ); setValidationResult(res > 0.5 ? '✓ 验证通过' : '✗ 无权限'); setIsValidating(false); } else { setValidationResult('✗ 未验证'); } }} /> ); }; export default AdvancedFeatures;