vertical-list.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <el-radio-group v-model="size">
  3. <el-radio label="large">Large</el-radio>
  4. <el-radio>Default</el-radio>
  5. <el-radio label="small">Small</el-radio>
  6. </el-radio-group>
  7. <el-descriptions
  8. title="Vertical list with border"
  9. direction="vertical"
  10. :column="4"
  11. :size="size"
  12. border
  13. >
  14. <el-descriptions-item label="Username">kooriookami</el-descriptions-item>
  15. <el-descriptions-item label="Telephone">18100000000</el-descriptions-item>
  16. <el-descriptions-item label="Place" :span="2">Suzhou</el-descriptions-item>
  17. <el-descriptions-item label="Remarks">
  18. <el-tag size="small">School</el-tag>
  19. </el-descriptions-item>
  20. <el-descriptions-item label="Address"
  21. >No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province
  22. </el-descriptions-item>
  23. </el-descriptions>
  24. <el-descriptions
  25. title="Vertical list without border"
  26. :column="4"
  27. :size="size"
  28. direction="vertical"
  29. :style="blockMargin"
  30. >
  31. <el-descriptions-item label="Username">kooriookami</el-descriptions-item>
  32. <el-descriptions-item label="Telephone">18100000000</el-descriptions-item>
  33. <el-descriptions-item label="Place" :span="2">Suzhou</el-descriptions-item>
  34. <el-descriptions-item label="Remarks">
  35. <el-tag size="small">School</el-tag>
  36. </el-descriptions-item>
  37. <el-descriptions-item label="Address"
  38. >No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province
  39. </el-descriptions-item>
  40. </el-descriptions>
  41. </template>
  42. <script setup lang="ts">
  43. import { computed, ref } from 'vue'
  44. const size = ref('')
  45. const blockMargin = computed(() => {
  46. const marginMap = {
  47. large: '32px',
  48. default: '28px',
  49. small: '24px',
  50. }
  51. return {
  52. marginTop: marginMap[size.value] || marginMap.default,
  53. }
  54. })
  55. </script>
  56. <style scoped>
  57. .el-descriptions {
  58. margin-top: 20px;
  59. }
  60. </style>