效果
tsx部分
import { FC, useState, useEffect } from 'react';
import { View, Image } from '@tarojs/components';
import Taro from '@tarojs/taro';
import './index.scss';
const CustomBar: FC<any> = ({ children, isBack }) => {
const [navBarHeight, setNavBarHeight] = useState<any>(24);
const [menuBottonHeight, setmenuBottonHeight] = useState<any>(32);
useEffect(() => {
getNavHeight();
}, []);
const getNavHeight = () => {
let { height: menuHeight, top: menuBottonTop } = Taro.getMenuButtonBoundingClientRect();
setmenuBottonHeight(menuHeight || 32);
setNavBarHeight(menuBottonTop || 24);
};
const goBackPage = () => {
Taro.navigateBack({
delta: 1,
});
};
return (
<View style={{ paddingTop: navBarHeight + 'px', height: menuBottonHeight + 'px' }} className='CustomBar_com'>
{isBack && <Image onClick={goBackPage} className='back_' src={require('@assets/images/list/back_.png')}></Image>}
{children}
</View>
);
};
export default CustomBar;
css部分
.CustomBar_com{
position: relative;
z-index: 10;
display: flex;
align-items: center;
padding-left: 20px;
.back_{
width: 20px;
height: 34px;
margin-right: 40px;
}
}