当前位置: 首页 > news >正文

山西做网站流程步骤百度老旧版本大全

山西做网站流程步骤,百度老旧版本大全,个人做的网站有什么危险吗,塘沽做网站比较好的文章目录 一、准备工作(在 Vue3 中使用 SVG)二、封装 SVG三、封装图标选择器四、Demo 效果预览: 一、准备工作(在 Vue3 中使用 SVG) 本文参考:https://blog.csdn.net/houtengyang/article/details/1290431…

文章目录

      • 一、准备工作(在 Vue3 中使用 SVG)
      • 二、封装 SVG
      • 三、封装图标选择器
      • 四、Demo

效果预览:
在这里插入图片描述

一、准备工作(在 Vue3 中使用 SVG)

本文参考:https://blog.csdn.net/houtengyang/article/details/129043100

  1. 安装插件

    npm i vite-plugin-svg-icons
    
  2. 配置插件

    1. 修改 vite.config.js

      import {resolve} from 'path'
      import {createSvgIconsPlugin} from 'vite-plugin-svg-icons';export default defineConfig({plugins: [vue(),createSvgIconsPlugin({iconDirs: [resolve(process.cwd(), 'public')], // svg 文件存放位置symbolId: 'icon-[name]', // 指定symbolId格式}),],
      })
      

      注意:我的 svg 存放路径是根目录下的 ./public,多数情况下放在 ./src/assets

    2. 修改 main.js,增加一行代码。

      import 'virtual:svg-icons-register'
      
  3. 使用示例

        <svg aria-hidden="true" style="width: 14px; height: 14px"><use :href="`#icon-${menu.icon}`" /></svg>
    

二、封装 SVG

将上述使用示例封装为组件。

  1. ./src/components 下创建 Icon.vue

    <script setup>
    const props = defineProps({prefix: {type: String, default: 'icon'},name: {type: String, required: true},color: {type: String},size: {type: String, default: '1em'}
    });const symbolId = computed(() => `#${props.prefix}-${props.name}`);
    </script><template><svg aria-hidden="true" class="svg-icon" :style="'vertical-align:middle;width:' + size + ';height:' + size"><use :href="symbolId" :fill="color"/></svg>
    </template><style scoped>
    .svg-icon {overflow: hidden;fill: currentColor;
    }
    </style>
    

    svg 样式里添加了 vertical-align:middle

  2. 使用示例

    <Icon :name="vite"></Icon>
    

三、封装图标选择器

  1. ./src/components 下创建 IconSelect.vue

    <script setup>
    import Icon from "@/components/Icon.vue";const props = defineProps({modelValue: {type: String, default: ''},
    });const value = ref(props.modelValue)
    const icons = [];
    const modules = import.meta.glob('../../public/**/*.svg');
    for (const path in modules) {const name = path.split('public/')[1].split('.svg')[0];icons.push(name);
    }const emits = defineEmits(['update:modelValue']);
    const change = (name) => {emits('update:modelValue', name)
    }
    </script><template><el-select v-model="value" @change="change" filterable clearable placeholder="Select Icon"><el-option v-for="item in icons" :key="item" :label="item" :value="item"><span style="float: left"><Icon :name="item" size="30px"></Icon></span><span style="float: right;color: var(--el-text-color-secondary);font-size: 13px;">{{ item }}</span></el-option></el-select><Icon :name="value" size="32px" style="padding-left: 10px"></Icon>
    </template>
    

    import.meta.glob('../../public/**/*.svg') 用于获取 ./public 路径下各个层级的 .svg 文件。

  2. 使用示例(在表单中使用):

    <el-form-item label="Icon"><IconSelect v-model="obj.icon"></IconSelect>
    </el-form-item>
    

在这里插入图片描述

四、Demo

<script setup>
import IconSelect from "@/components/IconSelect.vue";
import Icon from "@/components/Icon.vue";const symbol = ref('')
</script><template>{{ symbol }}<Icon :name="symbol" size="32px" style="padding-left: 10px"></Icon><br/><IconSelect v-model="symbol"/>
</template>

在这里插入图片描述

http://www.ds6.com.cn/news/124311.html

相关文章:

  • 网站数据库修改密码要怎么做可以免费发外链的论坛
  • 公司商城网站建设阿里妈妈推广网站
  • 弥勒网站开发打开网址资料网站
  • 装饰公司网站建设深圳seo优化方案
  • 做网站建设需要什么工具国外网站加速
  • 省政府网站群建设研究关键词百度云
  • 网站布局优化怎么做口碑营销怎么做
  • 做刷票的网站关键词首页排名优化公司推荐
  • 网站 猜你喜欢 怎么做福建百度推广开户
  • 付钱做编程题目的网站如何在百度上发布自己的广告
  • wordpress 404宝塔杭州优化关键词
  • 浙江华企做的网站效果如何网络营销seo优化
  • 开发网站网络公司排行链接检测工具
  • 怎样增加网站收录量电商运营怎么自学
  • 做网站外包游戏代理加盟
  • 大气红色网站seo网站建设公司
  • 石家庄网站seo顾问seo网站关键词优化方法
  • 专业积分商城网站建设学校网站建设哪家好
  • 北京随喜设计网站优网营销
  • 乌镇旅游攻略自由行seo学校培训
  • wordpress 模板 中文网站seo优化步骤
  • 网站站建设建设中页中页百度广告联盟价格
  • 清理wordpress数据表搜索引擎优化的流程
  • 莱芜网站建设公司网络推广人员
  • 政府蒙古文网站建设汇报材料新的营销方式有哪些
  • 网络营销网站 优帮云软文广告文案案例
  • 快速做网站的软件营销网站
  • 广东和深圳的关系重庆seo论坛
  • 常州做沙滩旗的公司网站如何制作一个简单的网页
  • 哪个网站可以做行测题目百度seo营销公司