import React, { forwardRef, useImperativeHandle, useRef } from 'react'; import Style from './index.less'; import { Col, Form, Row } from 'antd'; import type { TimeType } from './timePicker'; import RangePicker from './timePicker'; export interface HeaderProps { title: string; /** * 参数发生变化时的回调 * @param data */ onParamsChange: (data: any) => void; extraParams?: { key: string; Children: React.ReactNode; }; initialValues?: any; /** * true 关闭初始化时触发onParamsChange */ closeInitialParams?: boolean; defaultTime?: TimeType; showTime?: boolean; } export default forwardRef((props: HeaderProps, ref) => { const [form] = Form.useForm(); const isCloseInitial = useRef(false); const change = async (data: any) => { if (props.onParamsChange) { props.onParamsChange(data); } }; useImperativeHandle(ref, () => ({ getValues: form.getFieldsValue, })); return (
{props.title}
{ if (props.closeInitialParams && !isCloseInitial.current) { isCloseInitial.current = true; } else { change(allValue); } }} > {props.extraParams && ( {props.extraParams.Children} )}
); });