vant组件基本使用

本文介绍了Vant组件的安装和引入,包括全局和局部方式。重点讲解了文件上传组件和轻提示组件的使用,包括如何向后端传输数据及控制加载提示的显示和停止。在文件上传中,强调了文件格式处理的重要性;在轻提示组件中,提到了在不同场景下的实际应用和在Vue钩子函数中的使用策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装和引入

安装

Vue3项目安装Vant
npm i vant
Vue 2 项目,安装 Vant 2
npm i vant@latest-v2

引入

引入分为局部引入和全局引入

全局引入

import { Form } from 'vant';
import { Field } from 'vant';
import { Button } from 'vant';

Vue.use(Form).use(Field).use(Button)

局部引入

import { Button } from 'vant';

export default {
  components: {
  	Form,
  	Field,
    Button
  },
};

注意: 在一般的Vue项目中最好全局引入,全局引入之后整个项目就可以使用了,一般一个项目引入了Vant之后就不会再引入其他的框架了,因为Vant是专门用来做手机端样式的

Uploader文件上传组件的使用

基本使用

官方文档中介绍的使用方式如下:

<van-uploader :after-read="afterRead" />
export default {
  setup() {
    const afterRead = (file) => {
      // 此时可以自行将文件上传至服务器
      console.log(file);
    };

    return {
      afterRead,
    };
  },
};

从上面的代码中可以看出:after-read后面绑定的是一个方法,所以在Vue中的使用方式应如下所示:

<van-uploader :after-read="afterRead" />
export default {
	methods:{
		afterRead (file) {
			console(file)
		}
	}
}

上面的代码打印结果如下:
在这里插入图片描述

向后端传输数据

afterRead函数所传的参数就是上传的文件,但是在往后端传输该文件的时候我们不能直接将file文件直接传到后端,我们需要对文件的格式进行一定处理。需要将其处理成FormData格式

let formData = new FormData()
formData.append("file",file.file)

Toast轻提示组件的使用

基本使用

官方文档中介绍的使用方式如下:

已加载提示为例:

Toast.loading({
  message: '加载中...',
  forbidClick: true,
});

但是在真实的开发过程中的使用方式如下:

this.toast = this.$toast.loading({
	message:'加载中...',//加载时显示的文字
	duration:0,//加载时长
	overlay:false,//加载时是否有遮罩,个人感觉太丑所以去了
	forbidClick:true//加载时禁止点击页面内容
})

如果刚进入页面需要显示加载提示的话建议将上述方法写在mounted钩子函数里面

控制什么时候停止显示加载效果

在需要停止的地方加入如下代码:

this.toast.clear()

不如在请求接口的then方法中。

### 如何在 Vant 组件中嵌套其他 Vant 组件Vue 项目中使用 Vant 组件库时,可以在一个 Vant 组件内嵌入另一个 Vant 组件来构建复杂界面。这通常通过组合多个组件并利用父级组件的插槽功能实现。 #### 嵌套 Vant 组件的方法 为了实现在一个 Vant 组件内部嵌套另一个 Vant 组件的功能,可以按照如下方式进行操作: 1. **定义父级 Vant 组件** 创建一个新的 `.vue` 文件作为容器组件,在此文件里导入所需的子组件,并设置好它们之间的关系结构[^1]。 2. **注册和使用组件** 确保已经安装了 `vant` 并正确配置了按需加载工具(如 babel-plugin-import)。接着就可以像下面这样简单地引入所需的具体组件[^2]。 ```javascript import { Field, Button } from 'vant'; export default { name: "ParentComponent", components: { VanField: Field, VanButton: Button } } ``` 3. **模板编写** 在 `<template>` 中声明这些组件的位置以及样式布局等属性。这里给出一段简单的 HTML 结构用于说明如何将两个不同的 Vant UI 控件放置在一起工作。 ```html <van-field v-model="value" placeholder="请输入..." /> <van-button type="primary">提交</van-button> ``` 4. **样式调整** 如果有必要的话还可以自定义一些 CSS 来美化页面效果或者改变默认行为。 以上就是关于如何在一个 Vant 组件里面加入其它类型的 Vant组件基本介绍;实际开发过程中可能还会涉及到更多细节上的处理比如事件绑定、状态管理等方面的内容。 #### 示例代码 以下是完整的示例代码片段展示了如何在一个名为 ParentComponent 的 Vant 组件中嵌套两个不同种类的小部件——输入框 (VanField) 和按钮 (VanButton)[^1]。 ```vue <!-- ParentComponent.vue --> <template> <div class="parent-component"> <!-- 输入框 --> <van-field v-model="message" label="消息:" placeholder="在这里填写信息"/> <!-- 提交按钮 --> <van-button @click="handleSubmit()" block type="info">发送</van-button> </div> </template> <script> // 导入必要的 Vant 组件 import { Field, Button } from 'vant'; export default { data() { return { message: '' }; }, methods: { handleSubmit(){ alert(`您输入的消息是:${this.message}`); } }, components: { VanField: Field, VanButton: Button } }; </script> <style scoped lang="less"> .parent-component{ padding: 20px; } .van-cell-group{ margin-bottom: 15px; } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值