import { View, Text, ScrollView } from '@tarojs/components' import './Modal.scss' import React, { useState } from 'react'; import { ModalType } from '@/utils/types'; import Box from './Box'; import Taro from '@tarojs/taro'; import {Modal as ModalRN} from 'react-native' import { vibrate } from '@/utils/tools'; export default function Modal(props: { children: React.ReactNode, testInfo?: React.ReactNode, title?: string, dismiss: Function, confirm?: Function, themeColor?: string, modalType?: ModalType, cancelCatchMove?: boolean }) { const [isDismiss, setIsDismiss] = useState(false) //阻止中间内容点击事件穿透 function click(e) { if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() } vibrate() } function onClick() { } switch (props.modalType) { case ModalType.center: return {props.dismiss()}} style={{backgroundColor:'rgba(0,0,0,0.95)',width:'100%',height:'100%',alignItems:'center',justifyContent:'center'}}> { props.children } } function longPress(e) { if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() } } function dismiss() { if (props.modalType == ModalType.center) { props.dismiss() return } setIsDismiss(true) setTimeout(() => { props.dismiss() }, 250) } global.dismissModal = dismiss; return { dismiss() }}> { props.testInfo ? props.testInfo : null } {/* {props.title ? props.title : '测试标题 '} */} { props.children } }