AutocompleteWithEnum.vue 851 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <UiInputAutocomplete
  3. :model-value="modelValue"
  4. :field="field"
  5. :items="enumItems ?? []"
  6. :is-loading="pending"
  7. :return-object="false"
  8. item-title="label"
  9. item-value="value"
  10. @update:model-value="$emit('update:model-value', $event)"
  11. />
  12. </template>
  13. <script setup lang="ts">
  14. import {useEnumFetch} from "~/composables/data/useEnumFetch";
  15. const props = defineProps({
  16. modelValue: {
  17. type: String,
  18. required: false,
  19. default: null
  20. },
  21. enumName: {
  22. type: String,
  23. required: true
  24. },
  25. field: {
  26. type: String,
  27. required: false,
  28. default: null
  29. },
  30. label: {
  31. type: String,
  32. required: false,
  33. default: null
  34. }
  35. })
  36. const { fetch } = useEnumFetch()
  37. const { data: enumItems, pending } = fetch(props.enumName)
  38. </script>
  39. <style scoped lang="scss">
  40. </style>