sort.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <el-table
  3. :data="tableData"
  4. :default-sort="{ prop: 'date', order: 'descending' }"
  5. style="width: 100%"
  6. >
  7. <el-table-column prop="date" label="Date" sortable width="180" />
  8. <el-table-column prop="name" label="Name" width="180" />
  9. <el-table-column prop="address" label="Address" :formatter="formatter" />
  10. </el-table>
  11. </template>
  12. <script lang="ts" setup>
  13. import type { TableColumnCtx } from 'element-plus'
  14. interface User {
  15. date: string
  16. name: string
  17. address: string
  18. }
  19. const formatter = (row: User, column: TableColumnCtx<User>) => {
  20. return row.address
  21. }
  22. const tableData: User[] = [
  23. {
  24. date: '2016-05-03',
  25. name: 'Tom',
  26. address: 'No. 189, Grove St, Los Angeles',
  27. },
  28. {
  29. date: '2016-05-02',
  30. name: 'Tom',
  31. address: 'No. 189, Grove St, Los Angeles',
  32. },
  33. {
  34. date: '2016-05-04',
  35. name: 'Tom',
  36. address: 'No. 189, Grove St, Los Angeles',
  37. },
  38. {
  39. date: '2016-05-01',
  40. name: 'Tom',
  41. address: 'No. 189, Grove St, Los Angeles',
  42. },
  43. ]
  44. </script>