Vant 移动端UI 组件自动引入

news/2025/2/22 12:39:57/

Vue项目中安装Vant

# Vue 3 项目,安装最新版

Vant npm i vant

 组件按需引入配置

Vant按需引入- - -安装:unplugin-vue-components 插件

unplugin-vue-components 插件可以在Vue文件中自动引入组件(包括项目自身的组件和各种组件库中的组件)

使用此插件后,不需要手动编写 import { Button } from 'ant-design-vue'这样的代码了,插件会自动识别 template中使用的自定义组件并自动注册。

unplugin-vue-components 是由 Vue官方人员开发的一款自动引入插件,可以省去比如 UI 库的大量 import 语句。

1.安装插件

# 通过 npm 安装
npm i @vant/auto-import-resolver unplugin-vue-components -D

#或者

npm i unplugin-vue-components -D


# 通过 yarn 安装
yarn add @vant/auto-import-resolver unplugin-vue-components -D


# 通过 pnpm 安装
pnpm add @vant/auto-import-resolver unplugin-vue-components -D


# 通过 bun 安装
bun add @vant/auto-import-resolver unplugin-vue-components -D

2.配置插件

1、如果是基于 vite 的项目,在 vite.config.js 文件中配置插件:

import vue from '@vitejs/plugin-vue';
import Components from 'unplugin-vue-components/vite';
import { VantResolver } from '@vant/auto-import-resolver';export default {plugins: [vue(),Components({resolvers: [VantResolver()], }),],
};

2、如果是基于 vue-cli 的项目,在 vue.config.js 文件中配置插件:

const { VantResolver } = require('@vant/auto-import-resolver');
const ComponentsPlugin = require('unplugin-vue-components/webpack');module.exports = {configureWebpack: {plugins: [ComponentsPlugin({resolvers: [VantResolver()],}),],},
};

3、如果是基于 webpack 的项目,在 webpack.config.js 文件中配置插件:

const { VantResolver } = require('@vant/auto-import-resolver');
const ComponentsPlugin = require('unplugin-vue-components/webpack');module.exports = {plugins: [ComponentsPlugin({resolvers: [VantResolver()],}),],
};

组件中使用

1、示例:

<template><van-button type="primary" >按钮 </van-button>
</template>

2、函数式组件使用注意事项

Vant 中 Toast,Dialog,Notify 和 ImagePreview 组件是函数式组件,需要 import 引入后,再使用,且要引入组件样式,例如:

<script setup lang="ts">
import { showToast } from 'vant';showToast('请填写正确的手机号');</script>

mian.ts 中引入组件样式:

import 'vant/es/toast/style';

其他函数式组件引用示例:

// Dialog
import { showDialog } from 'vant';
import 'vant/es/dialog/style';// Notify
import { showNotify } from 'vant';
import 'vant/es/notify/style';// ImagePreview
import { showImagePreview } from 'vant';
import 'vant/es/image-preview/style';

3、Vant 组件样式相关问题解决方法

1.修改vant 组件样式方法:

引用组件后,在浏览器中打开调试窗口,找到对应要修改样式的组件元素,查看组件元素的类名,重写该类名样式
有时不生效可能是权重不够,叠加类名或者样式添加 “ !important ”

示例:

.van-cell {font-size: 28px!important;background: transparent!important;
}

2.vant表单组件清除组件很难点,经常点上去没有清除效果

可能是被遮盖了,设置表单的右边margin 大于 清除图标的宽度:

示例:

.van-field__control {margin-right: 15px!important;
}

3.vant 表单清除按钮 PC端失效

1、安装模块

npm i @vant/touch-emulator -S

2、在 “ main.ts ” 文件中引入模块后自动生效

import ‘@vant/touch-emulator’

安装引入后如果没有立即生效,可以重启一下项目,再查看效果

查阅Vant 文档了解到 vant是针对移动端的,PC端下有些组件可能会失效,可以安装 “vant/touch-emulator” 模块解决。

Vant 有 Vue 2 版本、Vue 3 版本、微信小程序版本、 React 版本、支付宝小程序版本。

了解更多vant先关内容可以查阅Vant官方文档~
 


http://www.ppmy.cn/news/1213008.html

相关文章

Postman模拟上传文件

如图&#xff0c;在F12抓到的上传文件的请求 那要在postman上模拟这种上传&#xff0c;怎么操作呢&#xff0c;如图&#xff0c;选中【Select File】选取文件上传即可

mybatisPlus update更新部分字段

第一种方式&#xff1a; 其中&#xff0c; lambdaUpdateWrapper.set 表示要更新的字段值。 .eq 则表示 WHERE 条件。 public void updateEntity() {// LambdaUpdateWrapper<TestEntity> lambdaUpdateWrapper new LambdaUpdateWrapper<>();//有些版本可能不兼容上…

100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。    之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?    100天精通风控建模(原理+Python实现)——第2天:风控建模有什么目的?    接下来看下100天精通风控建模(原理…

【C++破局】泛型编程|函数模板|类模板

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c模板初阶知识点讲解 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;花有重开日&#xff0c;人无再少年 目录 前言 泛型编程 函数模板 函数模…

Nacos热更新

Nacos热更新 相比其他注册中心&#xff0c;Nacos的优势之一在于热更新。 热更新&#xff0c;就是不需要重启服务&#xff0c;就能够更新配置。 nacos配置中心 首先&#xff0c;需要搭建 Nacos&#xff0c;详情见&#xff1a; https://www.cnblogs.com/expiator/p/17392549.h…

我心目中的分布式操作系统

这是一位网友发给我的文字&#xff0c;我原样复制粘贴发出来给大家&#xff0c;他的观点我不过多评论&#xff0c;也不代表公司和研发团队的立场&#xff0c;但是最后一段本人不同意&#xff0c;因为Laxcus分布式操作系统已经发布了六个版本&#xff0c;在很多领域广泛部署使用…

力扣-228. 汇总区间

给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按…

【PTE-day07 文件上传2】

1、常见的绕过方式 (1)畸形后缀名绕过 .php、.pht、.php3、.php4、.php5、.php2、.phtml、.pHp、.html、.Htm......(2)双写过滤字符绕过 (3).htaccess文件绕过 <FilesMatch "jpg"> SetHandler application/x-httpd-php