天天看点

Vant的Field使用自定义图标

Vant自带的图标比较少,有时候不能满足使用。

普通使用第三方图标

关于Vant怎么使用第三方图标,网上有文章,以使用iconfont为例,有几种方法,说其中一种:

  1. 首先下载图标到本地:
Vant的Field使用自定义图标
  1. 下载完成后放在项目中,如放在

    src/assets

    下,像

    demo.html、demo.css

    等示范文件可选择性删除。
  2. main.js

    中添加上述样式的引入代码:
import "@/assets/font/iconfont.css";           

复制

  1. 最后使用

    <van-icon>

    即可,如(重点是有

    class="iconfont" class-prefix="icon"

    这部分):
<van-icon class="iconfont" class-prefix="icon" name="mobilephone"></van-icon>           

复制

在Vant的组件中使用

以Field为例,Field支持图标的,如下面代码:

<van-field
        v-model="form.userId"
        name="手机号"
        left-icon="smile-o"
        right-icon="warning-o"
        placeholder="请输入手机号码"
        :rules="[{ required: true, message: '请输入手机号码' }]"
     />           

复制

效果如图:

Vant的Field使用自定义图标

那我想换成自定义图标,像这样写法看行不行(添加

class="iconfont?imageView2/2/w/1620" class-prefix="icon"

这部分):

<van-field
        v-model="form.userId"
        name="手机号"
        class="iconfont" class-prefix="icon"
        left-icon="mobilephone"
        right-icon="warning-o"
        placeholder="请输入手机号码"
        :rules="[{ required: true, message: '请输入手机号码' }]"
      />           

复制

会发现不行,改成这样:

<van-field
        v-model="form.userId"
        name="手机号"
        left-icon="mobilephone"
        right-icon="mobilephone"
        placeholder="请输入手机号码"
        :rules="[{ required: true, message: '请输入手机号码' }]"
      >
        <van-icon class="iconfont" class-prefix="icon" slot="left-icon" name="mobilephone"></van-icon>
        <van-icon class="iconfont" class-prefix="icon" slot="right-icon" name="mobilephone"></van-icon>
      </van-field>           

复制

可以!看效果

Vant的Field使用自定义图标