UNPKG

@schema-render/search-table-react

Version:
26 lines (25 loc) 971 B
import { useMemoizedFn } from "@schema-render/core-react"; import { useMemo } from "react"; import { isEmpty } from "../../utils/common"; import { createTableSummary, getFlattenedColumns } from "./helpers"; /** * 总结栏处理:支持合计数据分布 */ export default function useSummary({ table, finalColumns, summaryData }) { const flattenedColumns = useMemo(()=>getFlattenedColumns(finalColumns), [ finalColumns ]); const renderSummary = useMemoizedFn(()=>{ return createTableSummary({ flattenedColumns, summaryData, summaryText: table.summaryText, hasRowSelection: !!table.rowSelection, hasRowNumber: table.showRowNumber }); }); // 合计栏函数需要一直变,否则不会每次渲染都执行 const finalSummary = table.summary ? table.summary : isEmpty(summaryData) ? undefined : ()=>renderSummary(); return { finalSummary }; }