import MyPopconfirm from "@/components/MyPopconfirm";
import MyTable from "@/components/MyTable";
import { RootState } from "@/store";
import { A7_APIdel, A7_APIgetList } from "@/store/action/A7school";
import { A7tableType } from "@/types";
import { A7tableC1, A7tableC2 } from "@/utils/tableData";
import { Button, Tooltip } from "antd";
import { useCallback, useEffect, useMemo, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { forwardRef, useImperativeHandle } from "react";
import { QuestionCircleOutlined } from "@ant-design/icons";
import { MessageFu } from "@/utils/message";
type Props = {
type: "口述史" | "刊物";
editTableFu: (id: number) => void;
ref: any;
};
function A7tab1({ type, editTableFu }: Props, ref: any) {
const dispatch = useDispatch();
const [fromData, setFromData] = useState({
pageNum: 1,
pageSize: 10,
});
const getListFu = useCallback(() => {
dispatch(A7_APIgetList(fromData, type));
}, [dispatch, fromData, type]);
useEffect(() => {
getListFu();
}, [getListFu]);
const tableInfo = useSelector((state: RootState) =>
type === "口述史" ? state.A7school.tableInfo1 : state.A7school.tableInfo2
);
// 点击删除
const delTableFu = useCallback(
async (id: number) => {
const res = await A7_APIdel(id, type);
if (res.code === 0) {
MessageFu.success("删除成功!");
getListFu();
}
},
[getListFu, type]
);
// 新增完成之后 重新获取数据
const resetSelectFu = useCallback(() => {
setFromData({
pageNum: 1,
pageSize: 10,
});
}, []);
// 可以让父组件调用子组件的方法
useImperativeHandle(ref, () => ({
resetSelectFu,
getListFu,
}));
const tableLastBtn = useMemo(() => {
return [
{
title: "操作",
render: (item: A7tableType) => (
<>
delTableFu(item.id)} />
>
),
},
];
}, [delTableFu, editTableFu]);
return (
setFromData({ ...fromData, pageNum, pageSize })
}
myTitle={{
name: "排序值",
Com: (
),
}}
/>
);
}
// const MemoA7tab1 = React.memo(A7tab1);
export default forwardRef(A7tab1);