index.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <script setup lang="ts">
  2. import { list } from "./base/list";
  3. defineOptions({
  4. name: "PureTable"
  5. });
  6. </script>
  7. <template>
  8. <el-card>
  9. <template #header>
  10. <div class="card-header">
  11. <span class="font-medium">
  12. 平台二次封装 element-plus 的 Table ,完全兼容 Api
  13. 并提供灵活的配置项以及完善的类型提醒,再也不用将代码都写在 template
  14. 里了,欢迎 Star
  15. <el-link
  16. href="https://github.com/xiaoxian521/pure-admin-table"
  17. target="_blank"
  18. style="font-size: 16px; margin: 0 4px 5px"
  19. >
  20. @pureadmin/table
  21. </el-link>
  22. </span>
  23. </div>
  24. </template>
  25. <el-alert
  26. title="基础用法中大部分表格都没设置 row-key ,不过最好都设置一下,后端需返回唯一值的字段,比如id 作用:1. 用来优化 Table
  27. 的渲染,尤其当字段在深层结构中;2. 防止某些操作导致表格组件内部混乱"
  28. type="info"
  29. :closable="false"
  30. />
  31. <el-tabs>
  32. <template v-for="(item, index) of list" :key="item.key">
  33. <el-tab-pane>
  34. <template #label>
  35. <el-tooltip
  36. :content="`(第 ${index + 1} 个示例)${item.content}`"
  37. placement="top-end"
  38. >
  39. <span>{{ item.title }}</span>
  40. </el-tooltip>
  41. </template>
  42. <component :is="item.component" />
  43. </el-tab-pane>
  44. </template>
  45. </el-tabs>
  46. </el-card>
  47. </template>
  48. <style scoped>
  49. :deep(.el-tabs__nav-wrap)::after {
  50. height: 1px;
  51. }
  52. :deep(.el-tabs__header) {
  53. margin-top: 10px;
  54. }
  55. :deep(.el-alert__title) {
  56. font-size: 16px;
  57. }
  58. :deep(.el-tabs__nav-next),
  59. :deep(.el-tabs__nav-prev) {
  60. font-size: 16px;
  61. color: var(--el-text-color-primary);
  62. }
  63. :deep(.el-tabs__nav-next.is-disabled),
  64. :deep(.el-tabs__nav-prev.is-disabled) {
  65. opacity: 0.5;
  66. }
  67. </style>