首页 > 其他分享 >封装Svg

封装Svg

时间:2023-09-20 16:03:22浏览次数:29  
标签:封装 String icons Svg svg import type vite

1、npm i vite-plugin-svg-icons   npm i fast-glob     2、在assets下创建svg目录    找想要的图标复制svg代码放到svg 在vite.config.js配置: import {createSvgIconsPlugin}from 'vite-plugin-svg-icons'

// 在plugins中添加
createSvgIconsPlugin({
iconDirs: [resolve(process.cwd(), 'src/assets/svg')],
symbolId: 'icon-[dir]-[name]',
}),

3、在man.js导入

// 导入svg图标
import 'virtual:svg-icons-register'

4、

<template>
<svg aria-hidden="true" :style="{ width: size + 'px', height: size + 'px' }">
<use :xlink:href="symbolId" :fill="color" />
</svg>
</template>
<script setup lang="ts">
import { computed } from 'vue';

const props = defineProps({
iconName: {
type: String,
required: true
},
color: {
type: String,
default: ''
},
size: {
type: [Number, String],
default: 18
}
})
const symbolId = computed(() => `#icon-${props.iconName}`);

</script>


<style scoped>
.svg-icon {
fill: currentColor;
vertical-align: middle;
}
</style>

5、导入组件并使用

import SvgIcon from '@/components/SvgIcon.vue' <SvgIcon icon-name="location" class="bread-crumb-icon"></SvgIcon>      

标签:封装,String,icons,Svg,svg,import,type,vite
From: https://www.cnblogs.com/Baipei/p/17717510.html

相关文章

  • Java学习之路--oop--面向对象编程(封装、继承、多态)01
    packagecom.oop.demo01;importjava.io.IOException;//什么是面向对象/*面向对象编程:Object-OrientedPrograming(简称OOP)面向对象编程的本质就是:**以类的方式组织代码,以对象的组织(封装)数据抽象三大特性:封装继承多态*///Demo01-类publicclassDemo01{publicstaticvoid......
  • Java学习之路--oop--面向对象编程(封装、继承、多态)03
    packagecom.oop.demo04;/*封装:设计程序要追求“高内聚,低耦合”属性私有,get/set封装的意义:1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.系统的可维护性增加*/publicclassApplication{publicstaticvoidmain(String[]args){Students1=newS......
  • Java学习之路--oop--面向对象编程(封装、继承、多态)02
    packagecom.oop.demo02;//一个项目应该只存一个main方法publicclassApplication{publicstaticvoidmain(String[]args){//new实例化了一个对象Personperson=newPerson("无言");System.out.println(person.name);}}////类:抽象......
  • vue项目-封装树形控件公用组件
    vue项目中,如h5端,第三方的树形选择器无法满足项目开发时,原生封装tree控件,通过判断是否存在子节点,循环递归组件完成树形封装,通过vue指令实现跨级传递数据或方法封装树形组件如下:1<template>2<divclass="tree-select-page">3<divclass="tree-item"v-for="item......
  • 类,封装,继承,多态
    Student.java学生类:importjava.util.Objects;importjava.util.Scanner;publicclassStudent{staticintage;staticStringid,subject;staticStringname="张晗";//name="张晗"//非法,因为在class类中,赋值操作语句只允许在成员函数中才可......
  • svg
    svg>元素:它是SVG图形的容器,用于定义SVG文档的命名空间、版本、视口等属性。circle>元素:它用于绘制一个圆形,可以指定圆心的坐标和半径。rect>元素:它用于绘制一个矩形,可以指定矩形的位置、大小、圆角等属性。polygon>元素:它用于绘制一个多边形,可以指定多边形的顶点坐标。path>......
  • 封装,继承,多态(下)
    8.5多态一个对象可以有多种形态。一个对象现在可以是学生类的对象,也可是老师类的对象。要形成多态必须是父类对象中存放子类的实例,用父类对象去调用子类重写的方法。语法:父类对象名=new子类();例如:QianFengstu=newStudent();QianFengtea=newTeacher();类图,可以反映出一......
  • 「开源系统」mybatis-plus代码生成工具(自己基于官方的封装的,打包成了maven插件的方式)
    mybatis-plus代码生成工具本工具基于MyBatis-Plus的代码生成器,MyBatis-Plus官网:https://baomidou.com/,请尊重原作者作品。demo:https://gitee.com/javalaoniu/mybatis-code-maven-plugin-demo插件:https://gitee.com/javalaoniu/mybatis-plus-code-maven-plugin生成的项目......
  • TypeScript封装验证函数(电话、邮箱、URL、数字、银行卡、税号)
    /** *验证手机号码或者电话号 **/exportfunctionisMobileTel(rule:any,value:any,callback:any){ if(!value){  //returncallback(newError('输入不可以为空'))  returncallback() } setTimeout(()=>{  constmyreg=/^((0\d{2,......
  • 封装,继承,多态(上)
    8.1封装将一系列零碎的代码用方法的形式把它组装在一起形成一个完整的功能就是封装(这是广义的封装)。狭义的封装,就是将以前对类的成员变量的赋值取值操作把它们放到方法中去,用方法的方式来实现赋值和取值。Peoplezhangpeng=newPeople();zhangpeng.name="张鹏";......