• Vant组件库入门知识


    🙈作者简介:练习时长两年半的Java up主
    🙉个人主页:程序员老茶
    🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
    📚系列专栏:Java全栈,计算机系列(火速更新中)
    💭 格言:种一棵树最好的时间是十年前,其次是现在
    🏡动动小手,点个关注不迷路,感谢宝子们一键三连

    Vant组件库入门知识

    Vant 是一个轻量、可靠的移动端 Vue 组件库,提供了丰富的组件和解决方案,帮助开发者快速构建出优雅的移动端应用。本文将详细介绍 Vant 的基本概念、使用方法以及相关扩展,帮助你快速上手 Vant。

    1. 为什么选择 Vant?

    在移动端开发中,我们常常需要使用各种组件来构建界面。React Native、Weex 等跨平台框架虽然提供了丰富的组件,但它们往往需要我们自己封装大量的样式和逻辑。而 Vue、React 等原生框架虽然提供了丰富的组件库,但它们的体积较大,不易于在我们的项目中引入。Vant 正是为了解决这些问题而生,它提供了一套轻量、易用的移动端组件库,可以帮助我们快速构建出优雅的移动端应用。

    Vant 的特点如下:

    • 轻量:Vant 的体积非常小,引入后不会对项目产生太大的负担。
    • 易用:Vant 提供了丰富的组件,涵盖了常用的 UI 元素,同时支持主题定制,可以快速替换为我们需要的样式。
    • 高效:Vant 的组件都是经过严格测试的,可以在各种场景下稳定运行,提高了开发效率。
    • 灵活:Vant 支持按需引入,可以根据项目需要只引入需要的组件,降低了项目的体积。

    2. Vant 组件库介绍

    Vant 的组件库包含了许多常用的 UI 元素,如按钮、输入框、弹窗、表格等。下面我们来看一下 Vant 的一些常用组件。

    2.1 Button(按钮)

    Vant 的 Button 组件是一个非常常用的按钮组件,支持不同形状和颜色的按钮,以及禁用状态。示例代码如下:

    <van-button type="primary">主要按钮van-button>
    <van-button type="dashed">虚线按钮van-button>
    <van-button disabled>禁用按钮van-button>
    
    • 1
    • 2
    • 3

    2.2 Form(表单)

    Vant 的 Form 组件包含了常见的表单元素,如输入框、选择器、开关等。示例代码如下:

    <van-field v-model="username" label="用户名" placeholder="请输入用户名">van-field>
    <van-field v-model="password" label="密码" placeholder="请输入密码">van-field>
    
    • 1
    • 2

    2.3 Carousel(轮播图)

    Vant 的 Carousel 组件是一个轮播图组件,可以用于展示图片或视频。示例代码如下:

    <van-carousel>
      <van-carousel-item title="图片1">图片描述1van-carousel-item>
      <van-carousel-item title="图片2">图片描述2van-carousel-item>
    van-carousel>
    
    • 1
    • 2
    • 3
    • 4

    3. Vant 组件的使用

    在使用 Vant 之前,我们需要先安装 Vant:

    npm i vant -S --production
    
    • 1

    或者使用 yarn:

    yarn add vant --production
    
    • 1

    安装完成后,我们可以在项目的 main.js 文件中引入并注册 Vant:

    import Vue from 'vue';
    import Vant from 'vant';
    import 'vant/lib/index.css';
    
    Vue.use(Vant);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    现在我们可以在我们的项目中使用 Vant 提供的组件了。以上面的 Carousel 组件为例,我们可以在一个 Vue 组件中使用如下代码:

    <template>
      <div>
        <van-carousel>
          <van-carousel-item title="图片1">图片描述1van-carousel-item>
          <van-carousel-item title="图片2">图片描述2van-carousel-item>
        van-carousel>
      div>
    template>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这样我们就成功地使用了 Vant 的 Carousel 组件。需要注意的是,Vant 的所有组件都遵循 BEM(Block、Element、Modifier)命名规范,我们在编写自己的代码时也可以参考这一规范。例如,我们的 Carousel 组件可能包含一个 Block()、两个元素()和一个修饰符(--size),所以我们可以命名为 MyCarousel.vue。这样的好处是,当我们的项目变得越来越大时,可以通过 BEM 命名规范快速定位到相关的代码。

    效果图:

    Cell(单元格)

    Cell 是一个常用的列表项组件,用于展示一条信息。它包含一个标题和对应的内容。

    用法示例:

    
    
    • 1
    • 2
    • 3

    效果图:

    Icon(图标)

    Icon 用于展示一个图标,可以是内置的图标,也可以是自定义的图标。

    用法示例:

    
    
    • 1
    • 2
    • 3

    效果图:

    Tab(标签页)

    Tab 是一个常用的选项卡组件,用于在多个内容之间切换。

    用法示例:

    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    效果图:

    自定义主题

    Vant 支持自定义主题,可以根据项目需求修改组件的样式。可以通过以下步骤进行配置:

    1. 在项目的根目录下创建一个 vant-theme.less 文件,用于存放自定义主题的样式。

    2. vant-theme.less 文件中,使用变量覆盖的方式修改组件的样式。例如,我们要修改 Button 组件的主题颜色,可以添加以下代码:

      // vant-theme.less
      @button-primary-color: #ff0000;
      
      • 1
      • 2
    3. 在项目的入口文件中引入 vant-theme.less 文件,并重新编译项目的样式。

      import 'vant-theme.less';
      
      • 1
    4. 现在 Button 组件的主题颜色已经被修改为红色了。

    使用插件

    除了常用组件外,Vant 还提供了一些实用的插件,以增强开发体验。

    Toast(轻提示)

    Toast 是一个简单的消息提示组件,用于显示一条短暂的消息。

    用法示例:

    import { Toast } from 'vant';
    
    Toast.success('操作成功');
    
    • 1
    • 2
    • 3

    效果图:

    Dialog(对话框)

    Dialog 是一个弹窗组件,用于展示一段内容或进行一些操作。

    用法示例:

    import { Dialog } from 'vant';
    
    Dialog.alert({
      message: '这是一段内容',
      title: '提示',
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    效果图:

    Lazyload(图片懒加载)

    Lazyload 是一个图片懒加载的插件,用于延迟加载页面中的图片,提高页面加载性能。

    用法示例:

    import { Lazyload } from 'vant';
    Vue.use(Lazyload);
    
    • 1
    • 2
    
    
    • 1
    • 2
    • 3

    总结

    本文介绍了 Vant 组件库的入门知识,并提供了常用组件的用法示例和效果图,以及如何自定义主题和使用插件。希望通过本文的介绍,能够帮助你快速上手使用 Vant 进行移动应用的开发。

  • 相关阅读:
    vue:实例,挂载,模板语法,数据绑定,Object.defineProperty使用
    鸿蒙开发接口定制管理:【@ohos.enterpriseDeviceManager (企业设备管理)】
    Kosmos-2: 在多模态大语言模型中引入基准和指代能力
    线程池底层原理详解与源码分析
    一个简单HTML5期末考核大作业,学生个人html静态网页制作代码
    leetcode315. 计算右侧小于当前元素的个数
    基于 LowCodeEngine 的调试能力建设与实践
    [附源码]java毕业设计火车票预订系统论文2022
    浅析线程池
    【Office】超简单,Excel快速完成不规则合并单元格排序
  • 原文地址:https://blog.csdn.net/qq_53431712/article/details/132777020