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'; 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() } Taro.vibrateShort({ type: 'medium' }) } function onClick() { // Taro.vibrateShort({ // type:'medium' // }) } switch (props.modalType) { case ModalType.center: return { if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() }; props.dismiss() }}> { 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 { if (process.env.TARO_ENV == 'weapp') { e.stopPropagation() }; dismiss() }}> { props.testInfo ? props.testInfo : null } {/* {props.title ? props.title : '测试标题 '} */} { props.children } {/* props.dismiss()}> 取消 props.confirm()}> 确定 */} }