/** * 搜索结果面板 一级页 */ import React, {useState} from 'react'; import {StyleSheet, Text, View} 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'; interface IResultPanelProps {} 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); export default function ResultPanel(props: IResultPanelProps) { 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)}}> ); } const style = StyleSheet.create({ wrapper: { width: rpx(750), }, });