index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div>
  3. <el-alert
  4. effect="dark"
  5. :closable="false"
  6. title="基于 Element 的 Table 组件进行二次封装,实现数据驱动,支持所有 Table 参数 -- 带边框表格"
  7. type="info"
  8. style="margin-bottom: 20px;"
  9. />
  10. <com-table
  11. v-loading="loading"
  12. :columns="columns"
  13. :data="tableData"
  14. border
  15. />
  16. </div>
  17. </template>
  18. <script lang="ts">
  19. import { defineComponent, ref } from 'vue'
  20. import ComTable from '_c/Table/index.vue'
  21. const columns = [
  22. {
  23. key: 'date',
  24. label: '日期'
  25. },
  26. {
  27. key: 'name',
  28. label: '姓名'
  29. },
  30. {
  31. key: 'address',
  32. label: '地址'
  33. }
  34. ]
  35. const tableData = [
  36. {
  37. date: '2016-05-02',
  38. name: '王小虎',
  39. address: '上海市普陀区金沙江路 1518 弄'
  40. }, {
  41. date: '2016-05-04',
  42. name: '王小虎',
  43. address: '上海市普陀区金沙江路 1517 弄'
  44. }, {
  45. date: '2016-05-01',
  46. name: '王小虎',
  47. address: '上海市普陀区金沙江路 1519 弄'
  48. }, {
  49. date: '2016-05-03',
  50. name: '王小虎',
  51. address: '上海市普陀区金沙江路 1516 弄'
  52. }
  53. ]
  54. export default defineComponent({
  55. // name: 'BorderTable',
  56. components: {
  57. ComTable
  58. },
  59. setup() {
  60. const loading = ref<boolean>(true)
  61. setTimeout(() => {
  62. loading.value = false
  63. }, 2000)
  64. return {
  65. columns,
  66. tableData,
  67. loading
  68. }
  69. }
  70. })
  71. </script>
  72. <style>
  73. </style>