Vue3 antdv 如何动态渲染 icons-vue 图标(a-icon 不支持了)

  • vue3antdv 已经放弃 <a-icon type='xxx'> 的用法了。

  • antdv icon 官方文档 中有 正常的组件用法自定义方式的 iconfont 用法 … 其中 iconfont 这种也是可以达到以前版本的 <a-icon /> 效果,只是图标都需要自行提供,如果想要直接使用官方新版本自带的所有 icon,只能另外的方式处理了。

  • 方式一:

    Vue3/React 动态设置 ant-design/icons 图标,推荐。

  • 方式二:
    // 初始化相关
    import { createApp } from 'vue'
    import { nextTick } from "@vue/runtime-core"
    
    // Antd
    import Antd from 'ant-design-vue'
    import 'ant-design-vue/dist/antd.css'
    import * as Icons from '@ant-design/icons-vue'
    
    // 创建对象
    const app = createApp(App)
    // 使用并挂载
    app.use(store).use(router).use(Antd).mount('#app')
    // 必须使用 nextTick,不然会有加载顺序问题,导致绑定失败
    nextTick(() => {
      // 配置全局对象
      app.config.globalProperties.$icons = Icons
      // Antd 注入全部图标(这样注入之后,就可以全局直接使用 icon 组件,不需要每个页面去引入了)
      for (const key in Icons) { app.component(key, Icons[key]) }
    })
    
    

    通过 <component :is="xxx" /> 动态使用,代替之前的 <a-icon type='xxx'>

    <!-- 动态使用(key 就是官方中拷贝的 icon 大驼峰写法,比如下面) -->
    <component :is="$icons['BugOutlined']" />
    <!-- 组件方式使用 -->
    <bug-outlined />
    
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值