This commit is contained in:
2025-03-22 00:01:11 +08:00
commit 2920a8d602
155 changed files with 11347 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import React, { useEffect, useState, ReactNode } from 'react';
import Modal, { ModalProps } from 'antd/lib/modal';
import { StarProps } from '../interface';
/**
* 星级模态框组件基于Antd Modal的增强组件
* 提供国际化和组件生命周期管理功能
*/
const StarModal: React.FC<ModalProps & StarProps & { children: ReactNode }> = (props) => {
const { open, destroyOnClose, children, format: formate, ...rest } = props;
const [exist, setExist] = useState<boolean | undefined>(open);
useEffect(() => {
if (open) setExist(open);
}, [open]);
const elements = exist ? (
<Modal
destroyOnClose={destroyOnClose}
open={open}
afterClose={() => setExist(false)}
okText={formate ? formate({ id: 'confirm' }) : '确定'}
cancelText={formate ? formate({ id: 'cancel' }) : '取消'}
{...rest}
>
{children}
</Modal>
) : (
<div />
);
return elements;
};
export default StarModal;