AppTextInput.vue 559B

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