page-container
const Page = () => {
const [isShow, setIsShow] = useState(true);
const [switchConfirm, setSwitchConfirm] = useState(false);
return (
<View>
// 业务代码
</View>
{Taro.getEnv() === 'WEAPP'&& (
<PageContainer
show={isShow}
overlay={false}
onBeforeLeave={() => {
if (isEqual(formatValue(ref.current), formatValue(form.getFieldsValue()))) {
// 表单如果没变化直接回退
setIsShow(true);
Taro.navigateBack({
delta: 1,
});
} else {
setIsShow(false);
setShowConfirm(true);
}
}}
></PageContainer>
)}
<AtModal
isOpened={showConfirm}
title='确定退出吗'
cancelText='取消'
confirmText='确认'
onClose={ handleClose }
onCancel={ handleCancel }
onConfirm={ handleConfirm }
content='退出后填写的资料将不会保存'
/>
)
}
export default Page
网友评论