import { bannerApi } from "@/api"; import { DageTableActions } from "@dage/pc-components"; import { Button, Image, Table } from "antd"; import { useMemo, useState, useEffect, useCallback } from "react"; import { useNavigate } from "react-router-dom"; export default function BannerPage() { const navigate = useNavigate(); const [list, setList] = useState<[]>([]); const [loading, setLoading] = useState(false); useEffect(() => { getList(); }, []); const getList = async () => { setLoading(true); try { const data = await bannerApi.getList(); setList(data); } finally { setLoading(false); } }; const handleDelete = useCallback(async (id: number) => { await bannerApi.delete(id); getList(); }, []); const COLUMNS = useMemo(() => { return [ { title: "海报", render: (item: any) => { return ( ); }, }, { title: "发布日期", dataIndex: "publishDate", }, { title: "操作", render: (item: any) => { return ( navigate(`/banner/edit/${item.id}`)} onDelete={handleDelete.bind(undefined, item.id)} /> ); }, }, ]; }, [handleDelete, navigate]); return ( = 10} onClick={() => navigate("/banner/create")} > 新增 ); }