diff --git a/src/views/svg-icons/element-icon.json b/src/views/svg-icons/element-icon.json new file mode 100644 index 00000000..15072a4c --- /dev/null +++ b/src/views/svg-icons/element-icon.json @@ -0,0 +1 @@ +["info","error","success","warning","question","back","arrow-left","arrow-down","arrow-right","arrow-up","caret-left","caret-bottom","caret-top","caret-right","d-arrow-left","d-arrow-right","minus","plus","remove","circle-plus","remove-outline","circle-plus-outline","close","check","circle-close","circle-check","circle-close-outline","circle-check-outline","zoom-out","zoom-in","d-caret","sort","sort-down","sort-up","tickets","document","goods","sold-out","news","message","date","printer","time","bell","mobile-phone","service","view","menu","more","more-outline","star-on","star-off","location","location-outline","phone","phone-outline","picture","picture-outline","delete","search","edit","edit-outline","rank","refresh","share","setting","upload","upload2","download","loading"] diff --git a/src/views/svg-icons/index.vue b/src/views/svg-icons/index.vue index b14d4be6..665b1d03 100644 --- a/src/views/svg-icons/index.vue +++ b/src/views/svg-icons/index.vue @@ -4,37 +4,57 @@ <a href="https://panjiachen.github.io/vue-element-admin-site/guide/advanced/icon.html" target="_blank">Add and use </a> </p> - <div class="icons-wrapper"> - <div v-for="item of iconsMap" :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-tabs type="border-card"> + <el-tab-pane label="Icons"> + <div v-for="item of iconsMap" :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> + </el-tab-pane> + <el-tab-pane label="Element-UI Icons"> + <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> + </el-tab-pane> + </el-tabs> </div> </template> <script> -import icons from './requireIcons' import clipboard from '@/utils/clipboard' +import icons from './requireIcons' +import elementIcons from './element-icon.json' export default { name: 'Icons', data() { return { - iconsMap: icons + iconsMap: icons, + elementIcons: elementIcons } }, methods: { generateIconCode(symbol) { return `<svg-icon icon-class="${symbol}" />` }, + generateElementIconCode(symbol) { + return `<i class="el-icon-${symbol}" />` + }, handleClipboard(text, event) { clipboard(text, event) } @@ -46,25 +66,25 @@ export default { .icons-container { margin: 10px 20px 0; overflow: hidden; - .icons-wrapper { - margin: 0 auto; - } + .icon-item { margin: 20px; - height: 110px; + height: 85px; text-align: center; - width: 110px; + width: 100px; float: left; font-size: 30px; color: #24292e; cursor: pointer; } + span { display: block; - font-size: 24px; + font-size: 16px; margin-top: 10px; } - .disabled{ + + .disabled { pointer-events: none; } } diff --git a/src/views/svg-icons/requireIcons.js b/src/views/svg-icons/requireIcons.js index 83a33955..56edb9f1 100644 --- a/src/views/svg-icons/requireIcons.js +++ b/src/views/svg-icons/requireIcons.js @@ -1,4 +1,3 @@ - const req = require.context('../../icons/svg', false, /\.svg$/) const requireAll = requireContext => requireContext.keys()