1*fe32deaaS猫头猫import React, {ReactNode} from 'react'; 2*fe32deaaS猫头猫import {Pressable, StyleProp, StyleSheet, ViewStyle} from 'react-native'; 3*fe32deaaS猫头猫import rpx from '@/utils/rpx'; 4*fe32deaaS猫头猫import ThemeText from './themeText'; 5*fe32deaaS猫头猫import useColors from '@/hooks/useColors'; 6*fe32deaaS猫头猫import IconButton from './iconButton'; 7*fe32deaaS猫头猫 8*fe32deaaS猫头猫interface IChipProps { 9*fe32deaaS猫头猫 containerStyle?: StyleProp<ViewStyle>; 10*fe32deaaS猫头猫 children?: ReactNode; 11*fe32deaaS猫头猫 onPress?: () => void; 12*fe32deaaS猫头猫 onClose?: () => void; 13*fe32deaaS猫头猫} 14*fe32deaaS猫头猫export default function Chip(props: IChipProps) { 15*fe32deaaS猫头猫 const {containerStyle, children, onPress, onClose} = props; 16*fe32deaaS猫头猫 const colors = useColors(); 17*fe32deaaS猫头猫 18*fe32deaaS猫头猫 return ( 19*fe32deaaS猫头猫 <Pressable 20*fe32deaaS猫头猫 onPress={onPress} 21*fe32deaaS猫头猫 style={[ 22*fe32deaaS猫头猫 styles.container, 23*fe32deaaS猫头猫 { 24*fe32deaaS猫头猫 backgroundColor: colors.placeholder, 25*fe32deaaS猫头猫 }, 26*fe32deaaS猫头猫 containerStyle, 27*fe32deaaS猫头猫 ]}> 28*fe32deaaS猫头猫 {typeof children === 'string' ? ( 29*fe32deaaS猫头猫 <ThemeText fontSize="subTitle">{children}</ThemeText> 30*fe32deaaS猫头猫 ) : ( 31*fe32deaaS猫头猫 children 32*fe32deaaS猫头猫 )} 33*fe32deaaS猫头猫 <IconButton 34*fe32deaaS猫头猫 onPress={onClose} 35*fe32deaaS猫头猫 name="close" 36*fe32deaaS猫头猫 sizeType="small" 37*fe32deaaS猫头猫 style={styles.icon} 38*fe32deaaS猫头猫 /> 39*fe32deaaS猫头猫 </Pressable> 40*fe32deaaS猫头猫 ); 41*fe32deaaS猫头猫} 42*fe32deaaS猫头猫 43*fe32deaaS猫头猫const styles = StyleSheet.create({ 44*fe32deaaS猫头猫 container: { 45*fe32deaaS猫头猫 height: rpx(56), 46*fe32deaaS猫头猫 paddingHorizontal: rpx(18), 47*fe32deaaS猫头猫 borderRadius: rpx(28), 48*fe32deaaS猫头猫 flexDirection: 'row', 49*fe32deaaS猫头猫 alignItems: 'center', 50*fe32deaaS猫头猫 justifyContent: 'center', 51*fe32deaaS猫头猫 }, 52*fe32deaaS猫头猫 icon: { 53*fe32deaaS猫头猫 marginLeft: rpx(8), 54*fe32deaaS猫头猫 }, 55*fe32deaaS猫头猫}); 56