如何将iconfont图标引入到vant的Tabbar标签栏里边

 更新时间:2022年04月26日 10:21:24   作者:傻她你呀  
这篇文章主要介绍了如何将iconfont图标引入到vant的Tabbar标签栏里边,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

将iconfont图标引入vant的Tabbar标签栏里

vant的Tabbar标签栏https://youzan.github.io/vant/

在app开发中,这个必不可少,上一张讲了怎么引入iconfont图标,现在就将iconfont图标引入到tabbar标签栏里边,看着vant提供的图标,必将有点丑啊23333,接下来就是引入方法:

1. 首先引入tabbar

2. 以基础代码为例

我现在就把这个第一个图标换掉,换成iconfont图标

第一个图标标签为

<van-tabbar-item icon="home-o">标签</van-tabbar-item>

把这行代码换成如下:

<van-tabbar-item>
    <van-icon class="iconfont" class-prefix='icon' slot="icon" slot-scope="props" :name='props.active ? icon.home_active:icon.home_normal'></van-icon>
    <span>home</span>
</van-tabbar-item>

相应的,js代码为:

slot-scope="props" 这个属性就是用来判断图标是不是被选中的,

这是官方文档的原话。

:name='props.active ? icon.home_active:icon.home_normal' 这行代码的意思就是 

当 props.active 为 true,说明处于选中状态,此时会调用名称 icon.home_active,如果不在选中状态,那么会调用名称  icon.home_normal,通过 查看js代码,可以知道,icon.home_active 就是 home,icon.home_normal 就是 homefill

之所以是这个名称,那是因为

可以看见iconfont矢量图的名称就是home 和 homefill,这可不是我随便取的,要看看你想调用的iconfont图标名称是啥

于是,:name='props.active ? icon.home_active:icon.home_normal 还可以这么理解:

当处于选中状态的时候,调用 homefill图标 ,不是选中状态的是,调用home图标

接下来看看效果:

处于选中状态的时候,

不是选中状态的时候,

这么一来就可以实现 iconfont图标的自由切换了,随心所欲,可能有些小伙伴想要改变颜色,这个其实很简单,官方文档就有修改颜色的方法:https://youzan.github.io/vant/

我把处于选中状态的时候颜色变成 hotpink,一个很骚的颜色

这就是效果图,好骚啊23333

方法分享就到这里了,其实如果想有实际应用的话,应该要加上路由模式,这样一个Tabbar标签栏才算是一个比较完美的Tabbar标签栏。

vue+vant引入iconfont字体图标

使用的是iconfont的图标,下载至本地使用的,图标比较少,使用的文件中引入,使用import或者css的@import都不行,一直报错最后被逼无奈,在main.js中引入的图标

这不是我本意,后续有时间继续探讨在指定文件引入字体图标的问题

使用的时候是van-field的组件中使用的,该组件自带了后缀图标的引入方法:

<van-field
  v-model="value1"
  label="文本"
  left-icon="smile-o"
  right-icon="warning-o"
  placeholder="显示图标"
/>

其中left-icon表示在左侧插入图标,right-icon表示在右侧插入图标,但是直接使用iconfont的方法写入不生效

最后解决办法是在van-field的组件中插入van-icon的组件结合slot的方法插入,代码如下

<van-field
  v-model='textarea'
  rows='2'
  maxlength = '200'
  label='请输入留言'
  show-word-limit
  placeholder='可以点击语音输入文字'
  @click-right-icon='getSpeak'>
  <van-icon class='iconfont' class-prefix='icon' slot='right-icon' name='yuyin'></van-icon>
</van-field>

其中class-prefix=‘icon’的写法固定,暂时未找到其原因,slot='right-icon'表示插入到van-field中的right-icon中,最后呈现效果

相关文章

  • 浅谈实现vue2.0响应式的基本思路

    浅谈实现vue2.0响应式的基本思路

    这篇文章主要介绍了浅谈实现vue2.0响应式的基本思路,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • vue服务端渲染添加缓存的方法

    vue服务端渲染添加缓存的方法

    vue服务区缓存分为页面缓存、组建缓存和接口缓存,本文通过实例代码逐一给大家介绍,本文重点给大家介绍vue服务端渲染添加缓存的方法,感兴趣的朋友跟随小编一起看看吧
    2018-09-09
  • vue-cli2.9.3 详细教程

    vue-cli2.9.3 详细教程

    这篇文章主要介绍了vue-cli2.9.3 详细教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • vue中使用百度脑图kityminder-core二次开发的实现

    vue中使用百度脑图kityminder-core二次开发的实现

    这篇文章主要介绍了vue中使用百度脑图kityminder-core二次开发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • vue如何实现动态加载脚本

    vue如何实现动态加载脚本

    这篇文章主要介绍了vue如何实现动态加载脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • vue+Element-ui实现分页效果

    vue+Element-ui实现分页效果

    这篇文章主要为大家详细介绍了vue+Element-ui实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 谈谈对vue响应式数据更新的误解

    谈谈对vue响应式数据更新的误解

    本篇文章主要介绍了谈谈对vue响应式数据更新的误解,深入了解了vue响应式数据,有兴趣的可以了解一下
    2017-08-08
  • Vue事件修饰符native、self示例详解

    Vue事件修饰符native、self示例详解

    这篇文章主要给大家介绍了关于Vue事件修饰符native、self的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Vue中的@blur事件 当元素失去焦点时所触发的事件问题

    Vue中的@blur事件 当元素失去焦点时所触发的事件问题

    这篇文章主要介绍了Vue中的@blur事件 当元素失去焦点时所触发的事件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 详解el Cascader懒加载数据回显示例

    详解el Cascader懒加载数据回显示例

    这篇文章主要为大家介绍了详解el Cascader懒加载数据回显示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论