/** * 搜索结果面板 一级页 */ import React, {memo, useState} from 'react'; import {Text} from 'react-native'; import rpx from '@/utils/rpx'; import {SceneMap, TabBar, TabView} from 'react-native-tab-view'; import ResultSubPanel from './resultSubPanel'; import results from './results'; import {fontWeightConst} from '@/constants/uiConst'; import {useTheme} from 'react-native-paper'; import Color from 'color'; const routes = results; const getRouterScene = ( routes: Array<{key: ICommon.SupportMediaType; title: string}>, ) => { const scene: Record JSX.Element> = {}; routes.forEach(r => { scene[r.key] = () => ; }); return SceneMap(scene); }; const renderScene = getRouterScene(routes); function ResultPanel() { const [index, setIndex] = useState(0); const {colors} = useTheme(); return ( ( ( {route.title} )} indicatorStyle={{ backgroundColor: colors.text, height: rpx(4), }} /> )} style={{ backgroundColor: colors.background, }} renderScene={renderScene} onIndexChange={setIndex} initialLayout={{width: rpx(750)}} /> ); } export default memo(ResultPanel);