import React, { useState } from 'react'; import { Text, Alert } from 'react-native'; import { SearchBar, Space } from '@xrnjs/ui'; import Card from '_global/Card'; import styles from './style'; const EventHandling = () => { const [searchValue, setSearchValue] = useState(''); const [focusCount, setFocusCount] = useState(0); const [blurCount, setBlurCount] = useState(0); const handleChange = (value: string | number) => { setSearchValue(String(value)); console.log('搜索内容变化:', value); }; const handleFocus = () => { setFocusCount((prev) => prev + 1); Alert.alert('焦点事件', '搜索框获得焦点'); }; const handleBlur = () => { setBlurCount((prev) => prev + 1); Alert.alert('失焦事件', '搜索框失去焦点'); }; const handleSubmit = () => { Alert.alert('提交搜索', `搜索内容: ${searchValue}`); }; const handleClear = () => { Alert.alert('清空内容', '搜索内容已清空'); }; return ( onChange 事件 当前值: {searchValue} onFocus 事件 获得焦点次数: {focusCount} onBlur 事件 失去焦点次数: {blurCount} onSubmitEditing 事件 allowClear + onClear 事件 综合事件处理 console.log('获得焦点')} onBlur={() => console.log('失去焦点')} onSubmitEditing={() => console.log('提交搜索')} allowClear onClear={() => { setSearchValue(''); console.log('清空内容'); }} /> ); }; export default EventHandling;