TableExhibitionBody.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <div>
  3. <el-table :key="table_key" :data="list" @header-click="test">
  4. <template v-for="header in headers">
  5. <el-table-column
  6. v-if="header.show"
  7. :key="header.key"
  8. show-overflow-tooltip
  9. :label="header.label"
  10. align="center"
  11. >
  12. <template #default="{ row }">
  13. {{ row[header.key] }}
  14. </template>
  15. </el-table-column>
  16. </template>
  17. </el-table>
  18. <el-pagination
  19. background
  20. layout="total, sizes, prev, pager, next, jumper"
  21. :total="1000"
  22. ></el-pagination>
  23. </div>
  24. </template>
  25. <script>
  26. export default {
  27. props: {
  28. list: {
  29. type: null,
  30. required: true,
  31. },
  32. headers: {
  33. type: Array,
  34. required: true,
  35. },
  36. },
  37. data() {
  38. return {
  39. query: {
  40. limit: 20,
  41. cursor: 1,
  42. },
  43. table_key: 0,
  44. total: 0,
  45. };
  46. },
  47. watch: {
  48. headers() {
  49. this.table_key++;
  50. },
  51. },
  52. created() {},
  53. methods: {
  54. editdata() {},
  55. test(val) {},
  56. },
  57. };
  58. </script>