| | |
| | | <template> |
| | | <svg |
| | | :class="['svg-icon',props.className]" |
| | | :style="{ width: size + 'px', height: size + 'px', color: color }" |
| | | aria-hidden="true" |
| | | > |
| | | <use :xlink:href="`#icon-${name}`" /> |
| | | </svg> |
| | | <svg :class="['svg-icon']" aria-hidden="true"> |
| | | <use :xlink:href="`#icon-${name}`" /> |
| | | </svg> |
| | | </template> |
| | | |
| | | <script setup> |
| | | const props = defineProps({ |
| | | name: { type: String, required: true }, // svg 图标名称 |
| | | className: { type: String, default: '' }, // 指定的类样式 |
| | | size: { type: Number, default: 32 }, // 图标尺寸 |
| | | color: { type: String, default: '#000' } // 图标颜色 |
| | | name: { type: String, required: true }, // svg 图标名称 |
| | | }) |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .svg-icon { |
| | | width: 1em; |
| | | height: 1em; |
| | | vertical-align: -0.15em; |
| | | fill: currentColor; |
| | | overflow: hidden; |
| | | width: 1em; |
| | | height: 1em; |
| | | color: #000; |
| | | vertical-align: -0.15em; |
| | | fill: currentColor; |
| | | overflow: hidden; |
| | | } |
| | | </style> |