import { Text, View } from "@tarojs/components" import { memo, useCallback, useEffect, useLayoutEffect, useMemo, useState } from "react" import {formatKbPrice} from '@/common/common' import classnames from "classnames"; import styles from './index.module.scss' import AmountShow from "../amountShow"; import Taro from "@tarojs/taro"; type Param = { style?: Object, number?: number, title?: string, titleStatus?: true|false, //true 标题加大加深 numberStatus?: 0|1|2, //数字尺寸 messageTitle?: string, messageWidth?: number, messageShow?: true|false, } export default memo(({number = 0, titleStatus = true, title = '', messageTitle = '', numberStatus = 1, messageWidth = 430, messageShow = false}:Param) => { const [show, setShow] = useState(messageShow) const onClose = () => { setShow(false) } const openShow = () => [ setShow(true) ] const [style, setStyle] = useState<{top: string}>() useEffect(() => { if(show) { getDomDes('#message') } else { setStyle(() => ({top: '0'})) } }, [show]) //设置弹出层高度 const getDomDes = (id) => { setTimeout(() => { let query = Taro.createSelectorQuery(); query.select(id).boundingClientRect(rect=>{ let height = rect.height * 2 + 15; setStyle((e) => ({...e, top: `-${height}rpx`, opacity: 1})) }).exec(); }, 0) } return ( <> openShow()}> {title} {show&&{messageTitle}} {show&&} ) })