index.tsx 524 B

1234567891011121314151617181920212223242526272829
  1. import { defineComponent } from 'vue'
  2. export default defineComponent({
  3. name: 'SvgIcon',
  4. props: {
  5. prefix: {
  6. type: String,
  7. default: 'icon',
  8. },
  9. name: {
  10. type: String,
  11. required: true,
  12. },
  13. color: {
  14. type: String,
  15. default: '#333',
  16. },
  17. },
  18. render () {
  19. const {name, prefix, color,} = this
  20. const symbolId = `#${prefix}-${name}`
  21. return (
  22. <svg {...this.$attrs} aria-hidden="true">
  23. <use href={symbolId} fill={color} />
  24. </svg>
  25. )
  26. }
  27. })