Text.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <v-text-field
  3. autocomplete="off"
  4. :value="data"
  5. :label="$t(label_field)"
  6. :rules="rules"
  7. :disabled="readOnly"
  8. :type="type"
  9. :error="error"
  10. :error-messages="errorMessage"
  11. @change="$emit('update', $event, field)"
  12. />
  13. </template>
  14. <script lang="ts">
  15. import { defineComponent } from '@nuxtjs/composition-api'
  16. export default defineComponent({
  17. props: {
  18. label: {
  19. type: String,
  20. required: false
  21. },
  22. field: {
  23. type: String,
  24. required: false
  25. },
  26. type: {
  27. type: String,
  28. required: false
  29. },
  30. data: {
  31. type: [String, Number],
  32. required: false
  33. },
  34. readOnly: {
  35. type: Boolean,
  36. required: false
  37. },
  38. rules: {
  39. type: Array,
  40. required: false
  41. },
  42. error: {
  43. type: Boolean,
  44. required: false
  45. },
  46. errorMessage: {
  47. type: String,
  48. required: false
  49. }
  50. },
  51. setup (props) {
  52. return {
  53. label_field: props.label ?? props.field
  54. }
  55. }
  56. })
  57. </script>
  58. <style>
  59. input:read-only{
  60. color: #666 !important;
  61. }
  62. </style>