增加获取场馆、字典

This commit is contained in:
筱野
2025-08-24 16:04:31 +08:00
parent c6f4f11259
commit bb6ec8c183
29 changed files with 1217 additions and 414 deletions

View File

@@ -6,20 +6,20 @@ import styles from './PopupGameplay.module.scss'
interface PopupGameplayProps {
visible: boolean
onClose: () => void
onConfirm: (selectedGameplay: string) => void
selectedGameplay?: string
onConfirm: (value: string) => void
value?: string
options?: { label: string, value: string }[]
}
export default function PopupGameplay({ visible, onClose, onConfirm, selectedGameplay = '不限' }: PopupGameplayProps) {
const [selectedOption, setSelectedOption] = useState(selectedGameplay)
export default function PopupGameplay({ visible, onClose, onConfirm, value = '不限', options = [] }: PopupGameplayProps) {
const [selectedOption, setSelectedOption] = useState(value)
const options = ['不限', '单打', '双打', '拉球']
useEffect(() => {
if (visible && selectedGameplay) {
setSelectedOption(selectedGameplay)
if (visible && value) {
setSelectedOption(value)
}
}, [visible, selectedGameplay])
}, [visible, value])
const handleOptionSelect = (option: string) => {
setSelectedOption(option)
@@ -45,11 +45,11 @@ export default function PopupGameplay({ visible, onClose, onConfirm, selectedGam
<View className={styles.optionsList}>
{options.map((option) => (
<View
key={option}
className={`${styles.optionItem} ${selectedOption === option ? styles.selected : ''}`}
onClick={() => handleOptionSelect(option)}
key={option.value}
className={`${styles.optionItem} ${selectedOption === option.value ? styles.selected : ''}`}
onClick={() => handleOptionSelect(option.value)}
>
<Text className={styles.optionText}>{option}</Text>
<Text className={styles.optionText}>{option.label}</Text>
</View>
))}
</View>