Text.vue 1.2 KB

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