From ab92ceb3964b468549639f9402170182ebe3ef28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=87=E9=98=B3?= <3311118881@qq.com> Date: Sat, 12 Oct 2024 14:10:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=96=87=E7=AB=A0=E5=9B=9E?= =?UTF-8?q?=E6=98=BEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Create/components/PublishForm/index.tsx | 25 ++++++++++++------- src/pages/Create/index.tsx | 7 +++--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/pages/Create/components/PublishForm/index.tsx b/src/pages/Create/components/PublishForm/index.tsx index b7f0e09..1c2318a 100644 --- a/src/pages/Create/components/PublishForm/index.tsx +++ b/src/pages/Create/components/PublishForm/index.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate, useSearchParams } from "react-router-dom"; import { Form, Input, Button, Select, DatePicker, Cascader, FormProps, message } from "antd"; import TextArea from "antd/es/input/TextArea"; @@ -27,6 +27,9 @@ interface FieldType { } const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => void }) => { + const [params] = useSearchParams() + const id = +params.get('id')! + const [form] = Form.useForm() const navigate = useNavigate() @@ -34,7 +37,7 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo const [tagList, setTagList] = useState([]) useEffect(() => { - if (!data.id) return + if (!id) return form.resetFields() // 把数据处理成[[1], [4, 5], [4, 6]]格式 const cateIds = data?.cateList?.flatMap(item => { @@ -53,11 +56,11 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo tagIds, createTime: dayjs(+data.createTime!) }) - }, [data]) + }, [data, id]) const getCateList = async () => { const { data } = await getCateListAPI() - setCateList(data.filter(item=>item.type === "cate") as Cate[]) + setCateList(data.filter(item => item.type === "cate") as Cate[]) } const getTagList = async () => { @@ -76,16 +79,19 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo }; const onSubmit: FormProps['onFinish'] = async (values) => { + console.log(values, 777); + + values.createTime = values.createTime.valueOf() values.cateIds = [...new Set(values.cateIds?.flat())] values.tagIds = values.tagIds ? (values.tagIds as number[]).join(',') : "" - if (data.id) { - await editArticleDataAPI({ id: data.id, ...values, content: data.content } as any) + if (id) { + await editArticleDataAPI({ id, ...values, content: data.content } as any) message.success("🎉 编辑成功") } else { - await addArticleDataAPI({ id: data.id, ...values, content: data.content } as any) + await addArticleDataAPI({ id, ...values, content: data.content } as any) message.success("🎉 发布成功") } @@ -137,9 +143,10 @@ const PublishForm = ({ data, closeModel }: { data: Article, closeModel: () => vo