diff --git a/src/components/CommonPopup/index.module.scss b/src/components/CommonPopup/index.module.scss index 8e4ce9f..cb12009 100644 --- a/src/components/CommonPopup/index.module.scss +++ b/src/components/CommonPopup/index.module.scss @@ -41,8 +41,6 @@ } .common-popup__body { - overflow: auto; - -webkit-overflow-scrolling: touch; flex: 1 1 auto; } diff --git a/src/components/UploadCover/index.tsx b/src/components/UploadCover/index.tsx index 07b4ff0..75e9510 100644 --- a/src/components/UploadCover/index.tsx +++ b/src/components/UploadCover/index.tsx @@ -20,6 +20,7 @@ export type CoverImageValue = { export interface UploadCoverProps { value: CoverImageValue[] + changePicker?: (value: boolean) => void onChange: (value: CoverImageValue[] | ((prev: CoverImageValue[]) => CoverImageValue[]) ) => void source?: source @@ -56,6 +57,7 @@ export default function UploadCover(props: UploadCoverProps) { maxCount = 9, align = 'center', tag = 'cover', + changePicker } = props const [visible, setVisible] = useState(false) @@ -82,11 +84,18 @@ export default function UploadCover(props: UploadCoverProps) { onChange(value.filter(item => item.id !== image.id)) } + const openPicker = (value: boolean) => { + setVisible(value) + if (changePicker) { + changePicker(value) + } + } + return ( <> setVisible(false)} + onClose={() => openPicker(false)} round position="bottom" hideFooter @@ -115,7 +124,7 @@ export default function UploadCover(props: UploadCoverProps) {
{value.length < maxCount && ( -
setVisible(true)}> +
openPicker(true)}>
添加活动封面
diff --git a/src/publish_pages/publishBall/components/SelectStadium/SelectStadium.tsx b/src/publish_pages/publishBall/components/SelectStadium/SelectStadium.tsx index 1c1258a..424e552 100644 --- a/src/publish_pages/publishBall/components/SelectStadium/SelectStadium.tsx +++ b/src/publish_pages/publishBall/components/SelectStadium/SelectStadium.tsx @@ -36,6 +36,7 @@ const SelectStadium: React.FC = ({ const stadiumDetailRef = useRef(null) const [stadiumList, setStadiumList] = useState([]) const [loading, setLoading] = useState(false) + // const [keyboardVisible, setKeyboardVisible] = useState(false); const initData = async () => { setLoading(true) try { @@ -162,6 +163,9 @@ const SelectStadium: React.FC = ({ `${searchValue}` ) } + // const handleAnyInput = (value) => { + // setKeyboardVisible(value) + // } @@ -178,11 +182,13 @@ const SelectStadium: React.FC = ({ onCancel={handleDetailCancel} onConfirm={handleConfirm} position="bottom" + //style={{ paddingBottom: keyboardVisible ? `20px` : undefined }} round > ) @@ -248,7 +254,11 @@ const SelectStadium: React.FC = ({ 加载中 ) : ( - + {filteredStadiums.map((stadium) => ( = ({ - - { - e.stopPropagation() - handleItemLocation(stadium) - }} - > - {calculateDistance(stadium)} · - - { - e.stopPropagation() - handleItemLocation(stadium) - }} - > - {stadium.address} - - + + { + e.stopPropagation() + handleItemLocation(stadium) + }} + > + {calculateDistance(stadium)} · + + { + e.stopPropagation() + handleItemLocation(stadium) + }} + > + {stadium.address} + + diff --git a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.scss b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.scss index 3c93bd5..f8a0803 100644 --- a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.scss +++ b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.scss @@ -3,7 +3,6 @@ background: white; display: flex; flex-direction: column; - overflow-y: scroll; padding-bottom: env(safe-area-inset-bottom); .stadium-detail-scroll{ height:72vh; diff --git a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx index 3e9ed6b..2143337 100644 --- a/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx +++ b/src/publish_pages/publishBall/components/SelectStadium/StadiumDetail.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback, forwardRef, useImperativeHandle } from 'react' +import React, { useState, useCallback, forwardRef, useImperativeHandle, useEffect } from 'react' import Taro from '@tarojs/taro' import { View, Text, Image, ScrollView } from '@tarojs/components' import images from '@/config/images' @@ -6,6 +6,7 @@ import TextareaTag from '@/components/TextareaTag' // import CoverImageUpload, { type CoverImage } from '@/components/ImageUpload' import UploadCover, { type CoverImageValue } from '@/components/UploadCover' import { useDictionaryActions } from '@/store/dictionaryStore' + import './StadiumDetail.scss' export interface Stadium { @@ -25,6 +26,7 @@ export interface Stadium { interface StadiumDetailProps { stadium: Stadium + onAnyInput?: (value: boolean) => void } // 定义暴露给父组件的方法接口 @@ -65,7 +67,9 @@ const SectionContainer: React.FC<{ title: string; children: React.ReactNode, pro const StadiumDetail = forwardRef(({ stadium, + onAnyInput }, ref) => { + const [openPicker, setOpenPicker] = useState(false); const { getDictionaryValue } = useDictionaryActions() const court_type = getDictionaryValue('court_type') || [] const court_surface = getDictionaryValue('court_surface') || [] @@ -162,11 +166,16 @@ const StadiumDetail = forwardRef(({ }, [formData.court_type, formData.court_surface]) + + const changePicker = (value) => { + setOpenPicker(value) + } + console.log(stadium,'stadiumstadium'); return ( - - {/* 已选球场 */} + + {/* 已选球场 */} handleMapLocation()} @@ -209,6 +218,8 @@ const StadiumDetail = forwardRef(({ updateFormData(item.prop, value)} + // onBlur={() => onAnyInput(false)} + // onFocus={() => onAnyInput(true)} placeholder='有其他场地信息可备注' options={(item.options || []).map((o) => ({ label: o, value: o }))} /> @@ -222,11 +233,10 @@ const StadiumDetail = forwardRef(({ { - console.log(value, 'value') if (value instanceof Function) { const newValue = value(formData[item.prop]) - console.log(newValue, 'newValue') updateFormData(item.prop, newValue) } else { updateFormData(item.prop, value) diff --git a/src/publish_pages/publishBall/index.module.scss b/src/publish_pages/publishBall/index.module.scss index 1146b2b..55b588c 100644 --- a/src/publish_pages/publishBall/index.module.scss +++ b/src/publish_pages/publishBall/index.module.scss @@ -21,6 +21,9 @@ overflow: auto; padding: 4px 16px 20px 16px; box-sizing: border-box; + &::-webkit-scrollbar { + display: none; + } } &__content {