UNPKG

tav-ui

Version:
49 lines (44 loc) 1.66 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var useEventListener = require('../../../../hooks/event/useEventListener2.js'); var TableFooter = require('../components/TableFooter2.js'); function useTableFooter(propsRef, scrollRef, tableElRef, getDataSourceRef) { const getIsEmptyData = vue.computed(() => { return (vue.unref(getDataSourceRef) || []).length === 0; }); const getFooterProps = vue.computed(() => { const { summaryFunc, showSummary, summaryData } = vue.unref(propsRef); return showSummary && !vue.unref(getIsEmptyData) ? () => vue.h(TableFooter["default"], { summaryFunc, summaryData, scroll: vue.unref(scrollRef) }) : void 0; }); vue.watchEffect(() => { handleSummary(); }); function handleSummary() { const { showSummary } = vue.unref(propsRef); if (!showSummary || vue.unref(getIsEmptyData)) return; vue.nextTick(() => { const tableEl = vue.unref(tableElRef); if (!tableEl) return; const bodyDomList = tableEl.$el.querySelectorAll(".ant-table-body"); const bodyDom = bodyDomList[0]; useEventListener.useEventListener({ el: bodyDom, name: "scroll", listener: () => { const footerBodyDom = tableEl.$el.querySelector(".ant-table-footer .ant-table-body"); if (!footerBodyDom || !bodyDom) return; footerBodyDom.scrollLeft = bodyDom.scrollLeft; }, wait: 0, options: true }); }); } return { getFooterProps }; } exports.useTableFooter = useTableFooter; //# sourceMappingURL=useTableFooter2.js.map