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>

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

相关推荐
袅沫4 小时前
Nginx中部署多个前端项目——区分路径
服务器·前端
Asize4 小时前
为什么写代码前要先规划组件树?Next.js + Redis 笔记系统实战
前端·javascript·next.js
meilindehuzi_a4 小时前
Next.js 全栈基础实战:从 SPA、SSR 到 App Router 与 Todo API
开发语言·javascript·ecmascript
用户921080262864 小时前
6. 数据大屏 WebSocket 稳定性优化:心跳检测、断点续传和消息去重
前端
柚yuzumi4 小时前
CSS 定位布局:让元素各就各位
前端·css
光影少年4 小时前
react navite图片加载优化、大图卡顿、缓存策略
前端·react native·react.js
小林ixn4 小时前
用 Next.js 和 Redis 撸一个 Markdown 笔记系统:RSC 实战与组件化拆解
前端·redis·next.js
渣波4 小时前
重构旅行体验:基于 React 的 AI 旅游助手对话系统实战解析
前端·javascript
今日无bug4 小时前
列表转树:一道题搞懂 HashMap 在算法里的价值
前端·数据结构
用户921080262864 小时前
5. 数据大屏实时通信第一步:为什么选择 WebSocket,以及如何接入 Socket.IO
前端