import { View, Text, Image } from "@tarojs/components"; import Taro from "@tarojs/taro"; import img from "../../config/images"; import { ListCardProps } from "../../../types/list/types"; import "./index.scss"; const ListCard: React.FC = ({ id, title, start_time, location, distance_km, current_players, max_players, skill_level_min, skill_level_max, play_type, image_list = [], court_type, key }) => { const renderItemImage = (src: string) => { return ; }; const handleViewDetail = () => { console.log('id', id) Taro.navigateTo({ url: `/pages/detail/index?id=${id || 1}&from=list&autoShare=0`, }); }; // 根据图片数量决定展示样式 const renderImages = () => { if (image_list?.length === 0) return null; if (image_list?.length === 1) { return ( {renderItemImage(image_list?.[0])} ); } if (image_list?.length === 2) { return ( {renderItemImage(image_list?.[0])} {renderItemImage(image_list?.[1])} ); } // 3张或更多图片 return ( {renderItemImage(image_list?.[0])} {renderItemImage(image_list?.[1])} {renderItemImage(image_list?.[2])} ); }; return ( {/* 左侧内容区域 */} {/* 标题 */} {title && {title} } {/* 时间信息 */} {start_time} {/* 地点,室内外,距离 */} {location && {location}} {court_type && `・${court_type}`} {distance_km && `・${distance_km}km`} {/* 底部信息行:头像组、报名人数、技能等级、比赛类型 */} {Array.from({ length: 3 }).map( (_, index) => ( ) )} 报名人数 {current_players}/ {max_players} {skill_level_min} 至 {skill_level_max} {play_type && {play_type} } {/* 右侧图片区域 */} {renderImages()} {/* 畅打球局 */} 畅打球局 场馆方: 仁恒河滨花园网球场 ); }; export default ListCard;