@seemusic/ui-components
Version:
A Vue 3 UI Library. Uses Composable.
1 lines • 3.55 kB
Source Map (JSON)
{"version":3,"file":"SopPagination.mjs","sources":["../../../src/components/SopPagination/SopPagination.tsx"],"sourcesContent":["import { defineComponent, toRefs } from 'vue';\nimport { ElPagination } from 'element-plus';\nimport { useLocale } from '../../composables/useLocale';\n\nexport default defineComponent({\n name: 'SopPagination',\n components: { ElPagination },\n props: {\n currentPage: {\n type: Number,\n default: 1\n },\n pageSize: {\n type: Number,\n default: 20\n },\n total: {\n type: Number,\n default: 0\n },\n },\n emits: ['current-change', 'size-change', 'update:current-page', 'update:page-size'],\n setup(props, { attrs, emit, slots }) {\n const { t } = useLocale();\n const { currentPage, pageSize, total } = toRefs(props);\n\n function renderSlots () {\n if (typeof slots.default === 'function') {\n return {\n default: () => slots.default?.()\n };\n }\n return {\n default: () => <span class=\"el-pagination__text\">{ t('sop.pagination.total', { total: total.value })}</span>\n };\n }\n\n return () => (\n <ElPagination\n currentPage={currentPage.value}\n pageSize={pageSize.value}\n onUpdate:current-page={(page: number) => emit('update:current-page', page)}\n onUpdate:page-size={(size: number) => emit('update:page-size', size)}\n\n layout=\"slot, prev, pager, next, jumper, sizes\"\n total={props.total}\n onSize-change={(sizeNum: number) => emit('size-change', sizeNum)}\n onCurrent-change={(pageNum: number) => emit('current-change', pageNum)}\n {...attrs}\n >\n {/* 如果传入默认插槽后, 本身默认的内容就会被覆盖 */}\n {renderSlots()}\n </ElPagination>\n );\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","components","ElPagination","props","currentPage","type","Number","default","pageSize","total","emits","setup","attrs","emit","slots","t","useLocale","toRefs","renderSlots","_createVNode","value","_slot","_mergeProps","page","size","sizeNum","pageNum"],"mappings":";;;AAEwD,SAAAA,QAAAC,GAAA;AAAA,SAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAAK,qBAAAA,CAAAA,QAAAL,CAAA;AAAA;AAExD,MAAeM,gDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,YAAY;AAAA,IAAEC;AAAAA,EAAc;AAAA,EAC5BC,OAAO;AAAA,IACLC,aAAa;AAAA,MACXC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDC,UAAU;AAAA,MACRH,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA,IACDE,OAAO;AAAA,MACLJ,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACDG,OAAO,CAAC,kBAAkB,eAAe,uBAAuB,kBAAkB;AAAA,EAClFC,MAAMR,OAAO;AAAA,IAAES;AAAAA,IAAOC;AAAAA,IAAMC;AAAAA,EAAM,GAAG;AACnC,UAAM;AAAA,MAAEC;AAAAA,IAAG,IAAGC,UAAS;AACvB,UAAM;AAAA,MAAEZ;AAAAA,MAAaI;AAAAA,MAAUC;AAAAA,IAAM,IAAIQ,OAAOd,KAAK;AAErD,aAASe,cAAe;AACtB,UAAI,OAAOJ,MAAMP,YAAY,YAAY;AACvC,eAAO;AAAA,UACLA,SAASA,MAAAA;;AAAMO,+BAAMP,YAANO;AAAAA;AAAAA;MAEnB;AACA,aAAO;AAAA,QACLP,SAASA,MAAAY,YAAA,QAAA;AAAA,UAAA,SAAA;AAAA,WAA0CJ,CAAAA,EAAE,wBAAwB;AAAA,UAAEN,OAAOA,MAAMW;AAAAA,QAAO,CAAA,CAAC,CAAA;AAAA;IAExG;AAEA,WAAO,MAAA;AAAA,UAAAC;AAAA,aAAAF,YAAAjB,cAAAoB,WAAA;AAAA,QAAA,eAEUlB,YAAYgB;AAAAA,QAAK,YACpBZ,SAASY;AAAAA,QAAK,yBACAG,UAAiBV,KAAK,uBAAuBU,IAAI;AAAA,QAAC,sBACrDC,UAAiBX,KAAK,oBAAoBW,IAAI;AAAA,QAAC,UAAA;AAAA,QAAA,SAG7DrB,MAAMM;AAAAA,QAAK,iBACFgB,aAAoBZ,KAAK,eAAeY,OAAO;AAAA,QAAC,oBAC7CC,aAAoBb,KAAK,kBAAkBa,OAAO;AAAA,SACjEd,KAAK,GAAApB,QAAA6B,QAGRH,YAAW,CAAE,IAAAG,QAAA;AAAA,QAAAd,SAAAA,MAAA,CAAAc,KAAA;AAAA,MAAA,CAAA;AAAA;EAGpB;AACF,CAAC;"}