import React from 'react'; import { Drawer, Form, Input, Button, message } from 'antd'; import type { DrawerProps } from 'antd'; import type { WordResult } from '../apis/words'; import { useCreateWord, useUpdateWord } from '../apis/words'; interface WordDrawerProps extends DrawerProps { dictID: number; initialWord?: WordResult; refresh: () => void; onClose: () => void; } const WordDrawer: React.FC = ({ dictID, initialWord, refresh, ...props }) => { const createWord = useCreateWord(); const updateWord = useUpdateWord(); return (
void (async () => { try { if (initialWord) { await updateWord({ ...initialWord, ...values }); void message.success('更新成功'); } else { await createWord({ ...values, dictID }); void message.success('创建成功'); } refresh(); props.onClose(); } catch (err) { if (err instanceof Error) { void message.error(err.message); } } })() } >
); }; export default WordDrawer;