vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 9.27 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../../package/components/table-select/src/index.tsx"],"sourcesContent":["import {\n defineComponent,\n h,\n reactive,\n ref,\n computed,\n onMounted,\n withDirectives,\n toRef,\n PropType\n} from \"vue\";\nimport { ElLoading, ElOption, ElPagination, ElSelect, ElTable, ElTableColumn } from \"element-plus\";\nimport { pick } from \"lodash-es\";\nimport { useSelect } from \"./select\";\nimport { useTable } from \"./table\";\nimport CacheOptions from \"./cache-options\";\nimport { usePagination } from \"./pagination\";\nimport { PropsType } from \"@vue-admin-core/formily/__builtins__\";\n\nexport default defineComponent({\n name: \"VacTableSelect\",\n props: {\n ...ElSelect.props,\n ...ElTable.props,\n ...ElPagination.props,\n /**\n * 表格最大高度\n */\n maxHeight: {\n type: [String, Number],\n default: () => 240\n },\n /**\n * 表格列\n */\n columns: {\n type: Array,\n default: () => []\n },\n props: {\n type: Object as PropType<PropsType>,\n default: () => ({\n children: \"children\",\n label: \"label\",\n value: \"value\",\n disabled: \"disabled\"\n })\n }\n },\n setup(props, context) {\n // const { loading, ...props } = _props;\n const { expose } = context;\n const select = ref<InstanceType<typeof ElSelect>>();\n const table = ref<InstanceType<typeof ElTable>>();\n const pagination = ref<InstanceType<typeof ElPagination>>();\n\n const key = computed(() => props.props.value || props.valueKey || props.nodeKey || \"value\");\n const currentPage = toRef(props.currentPage || 1);\n const { cacheOptions, setOptionProxy, filter, tableProps } = useTable(props, context, {\n select,\n table,\n key,\n currentPage\n });\n\n const selectProps = useSelect(props, context, {\n select,\n table,\n pagination,\n key,\n filter,\n currentPage\n });\n\n const paginationProps = usePagination(props, context, {\n select,\n table,\n key,\n filter,\n currentPage\n });\n\n const Columns = [\n props.columns.map(({ slots, ...reset }: any, index: number) =>\n h(ElTableColumn, reactive({ key: `${reset.prop}-${index}`, ...reset }), slots)\n )\n ];\n\n if (props.multiple) {\n Columns.unshift(\n h(ElTableColumn, {\n width: 30,\n key: \"selection\",\n type: \"selection\"\n })\n );\n }\n\n const methods = reactive({});\n expose(methods);\n onMounted(() => {\n Object.assign(methods, {\n ...pick(table.value, [\n \"clearSelection\",\n \"getSelectionRows\",\n \"toggleRowSelection\",\n \"toggleAllSelection\",\n \"toggleRowExpansion\",\n \"setCurrentRow\",\n \"clearSort\",\n \"clearFilter\",\n \"doLayout\",\n \"sort\",\n \"scrollTo\",\n \"setScrollTop\",\n \"setScrollLeft\"\n ]),\n ...pick(select.value, [\"focus\", \"blur\"])\n });\n });\n\n return () => {\n return h(\n ElSelect,\n reactive({\n ...selectProps,\n modelValue: props.modelValue,\n ref: (ref: any) => (select.value = ref)\n }),\n {\n ...context.slots,\n default: () => [\n h(CacheOptions, { data: cacheOptions.value }),\n cacheOptions.value.map(({ value, currentLabel, isDisabled }) => {\n return h(ElOption, {\n label: currentLabel,\n value,\n disabled: isDisabled,\n style: { display: \"none\" },\n ref: (vm) => setOptionProxy(value as any, vm as any)\n });\n }),\n withDirectives(\n h(\n ElTable as any,\n reactive({\n ...tableProps,\n ref: (ref: any) => (table.value = ref)\n }),\n {\n default: () => Columns\n }\n ),\n [[ElLoading.directive, props.loading]]\n ),\n h(\n ElPagination,\n reactive({\n ...paginationProps,\n ref: (ref: any) => (pagination.value = ref)\n }),\n {}\n )\n ]\n }\n );\n };\n }\n});\n"],"names":["defineComponent","name","props","ElSelect","ElTable","ElPagination","maxHeight","type","String","Number","default","columns","Array","Object","children","label","value","disabled","setup","context","expose","select","ref","table","pagination","key","computed","valueKey","nodeKey","currentPage","toRef","cacheOptions","setOptionProxy","filter","tableProps","useTable","selectProps","useSelect","paginationProps","usePagination","Columns","map","slots","reset","index","h","ElTableColumn","reactive","prop","multiple","unshift","width","methods","onMounted","assign","pick","modelValue","CacheOptions","data","currentLabel","isDisabled","ElOption","style","display","vm","withDirectives","ElLoading","directive","loading"],"mappings":"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"}