Checkbox.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!--
  2. Case à cocher
  3. @see https://vuetifyjs.com/en/components/checkboxes/
  4. -->
  5. <template>
  6. <v-container
  7. class="px-0"
  8. fluid
  9. >
  10. <v-checkbox
  11. v-model="data"
  12. :value="data"
  13. :label="$t(label_field)"
  14. :disabled="readonly"
  15. :error="error"
  16. @change="onChange($event)"
  17. />
  18. </v-container>
  19. </template>
  20. <script lang="ts">
  21. import {defineComponent, useContext} from '@nuxtjs/composition-api'
  22. import {useError} from "~/composables/form/useError";
  23. export default defineComponent({
  24. props: {
  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. data: {
  36. type: Boolean,
  37. required: false
  38. },
  39. readonly: {
  40. type: Boolean,
  41. required: false
  42. }
  43. },
  44. setup (props, {emit}) {
  45. const {store} = useContext()
  46. const {error, onChange} = useError(props.field, emit, store)
  47. return {
  48. label_field: props.label ?? props.field,
  49. error,
  50. onChange
  51. }
  52. }
  53. })
  54. </script>
  55. <style scoped>
  56. </style>