import TreeSelectedGroup from '@/components/shared/TreeSelectedGroup'; import { ModalForm, ProFormItem } from '@ant-design/pro-form'; import { useIntl } from '@umijs/max'; import { Alert, Form } from 'antd'; interface ModalTreeSelectGroupProps { visible: boolean; onModalVisible: (visible: boolean) => void; onSubmit: (groupId: string) => Promise; } interface FormValues { group_id?: string; } const ModalTreeSelectGroup: React.FC = ({ visible, onSubmit, onModalVisible, }) => { const intl = useIntl(); const [form] = Form.useForm(); return ( form={form} title={intl.formatMessage({ id: 'pages.groups.setgroup.title', defaultMessage: 'Set group', })} width="480px" open={visible} // ⚠️ dùng open, không dùng visible (antd mới) onOpenChange={onModalVisible} // ⚠️ thay cho onVisibleChange onFinish={async (values) => { const groupId = values.group_id; if (!groupId) { return false; // không cho submit nếu chưa chọn } await onSubmit(groupId); return true; }} >
{ form.setFieldsValue({ group_id: value as string, }); }} /> ); }; export default ModalTreeSelectGroup;