index.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div class="icons-container">
  3. <aside>
  4. <a href="#" target="_blank">Add and use
  5. </a>
  6. </aside>
  7. <el-tabs type="border-card">
  8. <el-tab-pane label="Icons">
  9. <div v-for="item of svgIcons" :key="item">
  10. <el-tooltip placement="top">
  11. <div slot="content">
  12. {{ generateIconCode(item) }}
  13. </div>
  14. <div class="icon-item">
  15. <svg-icon :icon-class="item" class-name="disabled" />
  16. <span>{{ item }}</span>
  17. </div>
  18. </el-tooltip>
  19. </div>
  20. </el-tab-pane>
  21. <el-tab-pane label="Element-UI Icons">
  22. <div v-for="item of elementIcons" :key="item">
  23. <el-tooltip placement="top">
  24. <div slot="content">
  25. {{ generateElementIconCode(item) }}
  26. </div>
  27. <div class="icon-item">
  28. <i :class="'el-icon-' + item" />
  29. <span>{{ item }}</span>
  30. </div>
  31. </el-tooltip>
  32. </div>
  33. </el-tab-pane>
  34. </el-tabs>
  35. </div>
  36. </template>
  37. <script>
  38. import svgIcons from './svg-icons'
  39. import elementIcons from './element-icons'
  40. export default {
  41. name: 'Icons',
  42. data() {
  43. return {
  44. svgIcons,
  45. elementIcons
  46. }
  47. },
  48. methods: {
  49. generateIconCode(symbol) {
  50. return `<svg-icon icon-class="${symbol}" />`
  51. },
  52. generateElementIconCode(symbol) {
  53. return `<i class="el-icon-${symbol}" />`
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss" scoped>
  59. .icons-container {
  60. margin: 10px 20px 0;
  61. overflow: hidden;
  62. .icon-item {
  63. margin: 20px;
  64. height: 85px;
  65. text-align: center;
  66. width: 100px;
  67. float: left;
  68. font-size: 30px;
  69. color: #24292e;
  70. cursor: pointer;
  71. }
  72. span {
  73. display: block;
  74. font-size: 16px;
  75. margin-top: 10px;
  76. }
  77. .disabled {
  78. pointer-events: none;
  79. }
  80. }
  81. </style>