SpinBox.jsx 578B

123456789101112131415161718192021222324
  1. import React, { useMemo } from 'react'
  2. import { View } from '@tarojs/components'
  3. import Spin from '.'
  4. import './style.less'
  5. export default (props) => {
  6. const { className, style, loading, size = '64rpx', ...leftProps } = props
  7. const cls = useMemo(() => [className, 'loading-wrapper'].filter(Boolean).join(' '), [className])
  8. return (
  9. <View className={cls} style={style}>
  10. {
  11. loading && (
  12. <View className='loading-box'>
  13. <Spin size={size} {...leftProps} />
  14. </View>
  15. )
  16. }
  17. {props.children}
  18. </View>
  19. )
  20. }