select.vue 635 B

1234567891011121314151617181920212223242526272829
  1. <template>
  2. <el-select
  3. :model-value="value"
  4. @update:model-value="(value) => $emit('update:value', value)"
  5. placeholder="选择"
  6. size="small"
  7. style="width: 100px"
  8. >
  9. <el-option
  10. v-for="item in options"
  11. :key="item.value"
  12. :label="item.label"
  13. :value="item.value"
  14. />
  15. </el-select>
  16. </template>
  17. <script lang="ts" setup>
  18. import { ElSelect, ElOption } from "element-plus";
  19. defineProps<{
  20. value: any;
  21. options: { label: string; value: any }[];
  22. min?: number;
  23. max?: number;
  24. step?: number;
  25. }>();
  26. defineEmits<{ (e: "update:value", val: number): void; (e: "click"): void }>();
  27. </script>