vue3使用Material Design Icons

  1. Material Design Icons地址:Material Design Icons - Icon Library - Pictogrammers
  2. 官方配置地址:https://github.com/unplugin/unplugin-icons
  3. 配置:
    1> 首先需要下载两个自动导入辅助插件。

    unplugin-vue-components 是一个用于自动导入 Vue 组件的插件,能够在 Vue 3 项目中简化组件的使用,无需手动导入每个组件。它支持按需加载,提高开发效率。

    unplugin-icons 按需通用地访问数千个图标作为组件。

    npm i -D unplugin-vue-components  unplugin-icons

    2> 然后我们下载mat图标组件。

    官方有两种推荐的引入方式 全量引入npm i -D @iconify/json

    部分按需引入npm i -D @iconify-json/mdi

    我这里使用第二种 

    3>添加vite.config.ts 文件添加配置。
    我们先引入最开始下载的两个插件配置
    import Icons from 'unplugin-icons/vite'
    import IconsResolver from 'unplugin-icons/resolver'
    然后在配置插件里添加配置
    plugins: [
        Vue(),
        Components({
          resolvers: [
            IconsResolver()
          ],
        }),
        Icons(),
      ],
    
    4>使用。
    方法一直接使用:
    我们去官网随便拿一个图标点击图标会跳出下面弹窗,我们切换tab到webfont然后把图标字符粘贴出来。
    
    在项目里要使用的vue组件里引入 如果我们在vite里IconsResolver里面配置了prefix也就是前缀这里就需要加自定义的前缀我这里设置的icon。
    
    如果不需要我们也可以把前缀设置为false,那么使用的时候也就不要加前缀了。
    
    方法二配合vuetify组件库:
    1)vuetifyjs官网地址:开始使用 Vuetify 3 — Vuetify
    2)我们对照官网在已有的vue3项目里下载vuetify组件库。
    
    3)安装本教程最开始的所有内容配置好了之后,我们同样去Material Design Icons官网拿一个图标但是这次我们选vue 由于我们是按需引入的引入路径需要改成~icons/mdi/xxx,我这里引入的是mdiPlusBox图标所以完整路径是~icons/mdi/plus-box(中划线命名)。
    
    
    4)使用。
    
    
vue-carbon,基于 vue 开发 material design 风格的移动端 WEB UI 库, 设计资源参考 CARBON FrameWork7。安装目前只使用 npm 安装,和使用 webpack 项目的应用npm install vue-carbon --saveimport Vue from &#39;vue&#39; import VueCarbon from &#39;vue-carbon&#39; Vue.use(VueCarbon)简单使用例如这个 Refresh Control 组件的demo页面<template> <div class="page">   <header-bar>     <icon-button slot="left" @click="back()" icon="arrow_back"></icon-button>     <span>Refresh Control</span>     <icon-button slot="right" @click="refresh()" icon="refresh"></icon-button>   </header-bar>   <content v-el:trigger>     <refresh-control @refresh="refresh" :trigger="$els.trigger" :refreshing="refreshing"></refresh-control>     <content-block>       <p class="refresh-desc">          按住 - 下拉 - 释放可以刷新数据       </p>     </content-block>     <list>       <item-cell v-for="item in items">         <item-title>           {{item}}         </item-title>       </item-cell>     </list>   </content> </div> </template>[removed]export default {  data () {    return {      items: [&#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;, &#39;10&#39;],      end: 10,      refreshing: false    }  },  methods: {    back () {      window.history.back()    },    refresh () {      this.refreshing = true      setTimeout(() => {        this.refreshing = false        var arr = []        for (let i = this.end; i < this.end   10; i ) {          arr.push(String(i   1))        }        this.end  = 10        this.items = arr      }, 2000)    }  }}[removed]<style lang="less">.refresh-desc{  text-align: center;}</style>效果如下 标签:VueCarbon
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值