Vant自带的图标比较少,有时候不能满足使用。
普通使用第三方图标
关于Vant怎么使用第三方图标,网上有文章,以使用iconfont为例,有几种方法,说其中一种:
- 首先下载图标到本地:
- 下载完成后放在项目中,如放在
src/assets
下,像demo.html、demo.css
等示范文件可选择性删除。 - 在
main.js
中添加上述样式的引入代码:
import "@/assets/font/iconfont.css";
- 最后使用
<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: '请输入手机号码' }]"
/>
效果如图:
那我想换成自定义图标,像这样写法看行不行(添加class="iconfont" 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>
可以!看效果