feat: 支持自定义订阅节点并兼容现有数据库
This commit is contained in:
@@ -17,7 +17,7 @@ export function ActionForm({
|
||||
children,
|
||||
...props
|
||||
}: Omit<ComponentProps<"form">, "action"> & {
|
||||
action: (data: FormData) => Promise<void>;
|
||||
action: (data: FormData) => Promise<void | { error: string }>;
|
||||
}) {
|
||||
const preserveValues = useRef(false);
|
||||
const [message, setMessage] = useState("");
|
||||
@@ -42,7 +42,13 @@ export function ActionForm({
|
||||
setMessage("");
|
||||
preserveValues.current = false;
|
||||
try {
|
||||
await action(data);
|
||||
const result = await action(data);
|
||||
if (result?.error) {
|
||||
preserveValues.current = true;
|
||||
setFailed(true);
|
||||
setMessage(result.error);
|
||||
return;
|
||||
}
|
||||
setFailed(false);
|
||||
setMessage("已保存");
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user