12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <script setup>
  2. defineProps({
  3. title: String,
  4. headerTable: {
  5. required: true,
  6. type: Array,
  7. },
  8. value: {
  9. required: true,
  10. type: Array,
  11. },
  12. })
  13. </script>
  14. <template>
  15. <DataTable
  16. responsiveLayout="scroll"
  17. columnResizeMode="expand"
  18. :value="value"
  19. :rowHover="true"
  20. :stripedRows="true"
  21. >
  22. <template #header>
  23. <h2 class="text-2xl font-bold">{{ title }}</h2>
  24. </template>
  25. <Column
  26. v-for="value in headerTable"
  27. :field="value.field"
  28. :header="value.header"
  29. :key="value.field"
  30. />
  31. <Column>
  32. <template #body="{ index }">
  33. <Button
  34. icon="pi pi-trash"
  35. class="p-button-icon-only p-button-rounded p-button-text"
  36. v-tooltip.bottom="'hapus'"
  37. @click="$emit('delete', index)"
  38. />
  39. </template>
  40. </Column>
  41. </DataTable>
  42. </template>