<template>
<div class="app-container">
<div class="icons">
<div
v-for="(item, index) in icons"
:key="index"
class="svgItem"
@click="svgClick(item)"
>
<svg-icon
class="icon"
:icon-class="item"
/>
<p style="font-size:10px;">{{ item }}</p>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'SvgIconAll',
props: {
svgName: {
type: String,
default: null
}
},
computed: {
icons() {
try {
const data = require.context('@/icons/svg', false, /\.svg$/).keys()
for (const i in data) {
data[i] = data[i].replace(/\.\//g, '').replace(/\.svg/g, '')
}
return data
} catch (e) {
return []
}
}
},
methods: {
svgClick(val) {
this.svgName = val
this.$emit('svgNameClick', this.svgName)
}
}
}
</script>
<style lang="less">
.app-container{
width: 450px;
height: 300px;
padding: 0;
margin:0;
overflow: auto;
.icons{
width: 450;
overflow: auto;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
.svgItem{
width: 100px;
height: 80px;
margin-left:10px;
display: flex;
float: left;
justify-content: center;
align-items: center;
flex-direction: column;
.icon{
width: 20px;
height: 20px;
}
}
}
}
</style>
// 其他页面引入使用
import SvgIconAll from '@/components/svg'
<SvgIconAll @svgNameClick="getSvgName" />
components: {
SvgIconAll
},
vue 下拉框展示 svg 图标
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- vue2 项目,elementUI 的下拉选择框清除图标不显示,需要引入样式文件 import 'element-...
- 项目中element-plus版本如下 "element-plus": "^2.3.6" 问题描述 点击这个箭头,...
- 使用this.$set(this.Popup,'postType','')不能直接使用this.Popup.pos...
- 在前端Web开发中,下拉筛选功能是一种非常常见的交互方式,它可以帮助用户快速选择所需的选项。本文将介绍如何利用Vu...