sort.vue 1.1 KB

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