New file |
| | |
| | | <template> |
| | | <div> |
| | | <el-select v-model="modelValue" v-bind="{ ...$attrs }"> |
| | | <el-option |
| | | v-for="item in proTableProps.tableData" |
| | | :key="item[props.enumValueKey]" |
| | | :label="item[props.enumLabelKey]" |
| | | :value="item[props.enumValueKey]" |
| | | > |
| | | </el-option> |
| | | <template #footer> |
| | | <ProPagination v-bind="proTableProps" layout="total, prev, pager, next"></ProPagination> |
| | | </template> |
| | | </el-select> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ProPagination } from '@bole-core/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'FieldPaginationSelect', |
| | | }); |
| | | |
| | | type Props = { |
| | | proTableProps: any; |
| | | enumLabelKey?: string; |
| | | enumValueKey?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | enumLabelKey: 'label', |
| | | enumValueKey: 'value', |
| | | }); |
| | | |
| | | const modelValue = defineModel<string>(); |
| | | </script> |