vue3 使用vant

使用前提:

vite创建的vue3项目

vanthttps://vant-ui.github.io/vant/#/zh-CN/home

npm i vant

引入样式:

javascript 复制代码
main.js 

import 'vant/lib/index.css'

vant封装

javascript 复制代码
import { showLoadingToast,closeToast,showDialog,showConfirmDialog } from 'vant';


export function dialog(title,msg,success){
  showDialog({
    title: title||'温馨提示',
    message: msg,
  }).then(() => {
    // on close
    if(success){
      return success()
    }
    
  });
}

export  const loading ={
   showLoading:function (msg){
    showLoadingToast({
      message: msg||'加载中...',
      duration: 0, // 持续展示 toast
    })
   },
   hideLoading:function(){
    closeToast();
   }


}

export function confirmDialog(title,msg,success,error){
 return new Promise((resolve, reject) => {
  showConfirmDialog({
    title: title||'温馨提示',
    message:msg,
  })
    .then(() => {
      resolve(true)
      if(success){
        return success()
      }
    })
    .catch(() => {
      resolve(false)
      if(error){
        return error()
      }
    });
 })



}

使用

javascript 复制代码
import { loading } from "@/utils/vant";

loading.showLoading();

//loading.hideLoading()
javascript 复制代码
<script setup>

import { Empty} from "vant"

</script>

<template>
  <div>
   <Empty description="读取用户信息中,请稍后..."></Empty>
  </div>
</template>

我这里只是全局引用了样式,模块没有全局引入模块,需要时再引入

相关推荐
FFF-X3 分钟前
大屏自适应终极方案:基于比例缩放的完美适配实践(Vue3版)
javascript·html5
卓有成效的程序员4 分钟前
为什么要用 const 和 let,而不是 var?
javascript
做一颗卷心菜5 分钟前
Promise
开发语言·前端·javascript
bin91538 分钟前
DeepSeek 助力 Vue 开发:打造丝滑的 键盘快捷键(Keyboard Shortcuts)
前端·javascript·vue.js·计算机外设·ecmascript·deepseek
格式化小拓10 分钟前
在vue2中操作数组,如何保证其视图的响应式
前端·javascript·vue.js
Moyo20310 分钟前
前端web安全
前端·安全·web安全
陈小于13 分钟前
vue从入门到精通(十一):条件渲染
前端·javascript·vue.js
爱生活的前端狗29 分钟前
如何操作data-*属性?
前端·javascript
孜然卷k38 分钟前
前端导出word文件,并包含导出Echarts图表等
前端·javascript
家里有只小肥猫1 小时前
uniApp小程序保存canvas图片
前端·小程序·uni-app