Vant的Field使用自定义图标

2020-03-20 15:10:51 浏览数 (2)

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

普通使用第三方图标

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

  1. 首先下载图标到本地:
  1. 下载完成后放在项目中,如放在src/assets下,像demo.html、demo.css等示范文件可选择性删除。
  2. main.js中添加上述样式的引入代码:
代码语言:javascript复制
import "@/assets/font/iconfont.css";
  1. 最后使用<van-icon>即可,如(重点是有class="iconfont" class-prefix="icon"这部分):
代码语言:javascript复制
 <van-icon class="iconfont" class-prefix="icon" name="mobilephone"></van-icon>

在Vant的组件中使用

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

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

效果如图:

那我想换成自定义图标,像这样写法看行不行(添加class="iconfont" class-prefix="icon"这部分):

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

会发现不行,改成这样:

代码语言:javascript复制
      <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>

可以!看效果

0 人点赞