Blame view
src/views/icons/index.vue
2.38 KB
d7d9c38c2 auto commit the c... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
<template> <div class="icons-container"> <aside> <a href="https://panjiachen.github.io/vue-element-admin-site/guide/advanced/icon.html" target="_blank">Add and use </a> </aside> <el-tabs type="border-card"> <el-tab-pane label="Icons"> <div class="grid"> <div v-for="item of svgIcons" :key="item" @click="handleClipboard(generateIconCode(item),$event)"> <el-tooltip placement="top"> <div slot="content"> {{ generateIconCode(item) }} </div> <div class="icon-item"> <svg-icon :icon-class="item" class-name="disabled" /> <span>{{ item }}</span> </div> </el-tooltip> </div> </div> </el-tab-pane> <el-tab-pane label="Element-UI Icons"> <div class="grid"> <div v-for="item of elementIcons" :key="item" @click="handleClipboard(generateElementIconCode(item),$event)"> <el-tooltip placement="top"> <div slot="content"> {{ generateElementIconCode(item) }} </div> <div class="icon-item"> <i :class="'el-icon-' + item" /> <span>{{ item }}</span> </div> </el-tooltip> </div> </div> </el-tab-pane> </el-tabs> </div> </template> <script> import clipboard from '@/utils/clipboard' import svgIcons from './svg-icons' import elementIcons from './element-icons' export default { name: 'Icons', data() { return { svgIcons, elementIcons } }, methods: { generateIconCode(symbol) { return `<svg-icon icon-class="${symbol}" />` }, generateElementIconCode(symbol) { return `<i class="el-icon-${symbol}" />` }, handleClipboard(text, event) { clipboard(text, event) } } } </script> <style lang="scss" scoped> .icons-container { margin: 10px 20px 0; overflow: hidden; .grid { position: relative; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); } .icon-item { margin: 20px; height: 85px; text-align: center; width: 100px; float: left; font-size: 30px; color: #24292e; cursor: pointer; } span { display: block; font-size: 16px; margin-top: 10px; } .disabled { pointer-events: none; } } </style> |