AppSelectInput.vue 543B

1234567891011121314151617181920212223
  1. <script setup>
  2. import { computed } from 'vue'
  3. const props = defineProps({
  4. label: String,
  5. error: String,
  6. modelValue: [String, Number, Boolean],
  7. })
  8. defineEmits(['update:modelValue'])
  9. const isError = computed(() => (props.error ? true : false))
  10. </script>
  11. <template>
  12. <CFormLabel>{{ label }}:</CFormLabel>
  13. <CFormSelect :invalid="isError" :value="modelValue" @change="$emit('update:modelValue', $event.target.value)">
  14. <option></option>
  15. <slot />
  16. </CFormSelect>
  17. <CFormFeedback invalid>{{ error }}</CFormFeedback>
  18. </template>