"use client"; import { Button, Card, Drawer, Form, Image, Input, InputNumber, message, Modal, Popconfirm, Space, Table } from "antd"; import { useRef, useState } from "react"; import { useAntdTable } from "ahooks"; import { mRequest } from "@/app/_lib/request"; import { LinkTypeItem } from "@/app/_lib/types"; import LinkTable from "./LinkTable"; import ImageUpload from "@/app/_ui/ImageUpload"; import { useForm } from "antd/es/form/Form"; import { LinkType } from "@/app/_lib/data/linkType"; import '@ant-design/v5-patch-for-react-19'; export default function Page() { const { tableProps, refresh } = useAntdTable( async ({ current, pageSize }) => { return mRequest<{ total: number; data: LinkTypeItem[] }>( "GET", `/api/linkType?page=${current}&pageSize=${pageSize}` ).then((res: any) => { return { total: res?.total || 0, list: res?.list || [], } }) }, ) const [selectedType, setSelectedType] = useState( undefined ) return ( <> } > {...tableProps} rowKey="_id" expandable={{ expandedRowRender: (row) => , }} columns={[ { title: "名称", dataIndex: "label", }, { title: "图标", dataIndex: "icon", render: (_, item) => ( <> ) }, { title: "操作", render: (_, item) => ( { mRequest("DELETE", "/api/linkType/" + item._id, { returnType: "text", }).then(() => { refresh() message.success("删除成功") }) }} > ), }, ]} /> { setSelectedType(undefined) }} >
{ if (selectedType) { await mRequest("PUT", "/api/linkType", { _id: selectedType._id, ...res }) } else { await mRequest("POST", "/api/linkType", { ...res, }) } refresh() setSelectedType(undefined) message.success("操作成功") }} >
{/* { setSelectedType(undefined) }} >
{ if (selectedType) { await mRequest("PUT", "/api/linkType", { _id: selectedType._id, ...res }) } else { await mRequest("POST", "/api/linkType", { ...res, }) } refresh() setSelectedType(undefined) message.success("操作成功") }} >
*/} ) }