【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法
文章目录

参考文章:
前言
最近新建了一个vite + vu3 的项目,完全是从0 到1 ,封装到request 的时候 想对axios 请求做一个全局的处理,但发现naive ui 的message 不像element ui 那样使用起来方便。多方查找资料文章终于将 message 封装进request 中,算是解决了这个问题。写这篇文章记录加深印象,防止下次再遇到。
在setup外进行使用
如果你想在 setup 外使用 useDialog、useMessage、useNotification、useLoadingBar,可以通过 createDiscreteApi 来构建对应的 API。
直接上代码,在请求的api中使用,代码如下:
//request.js
import { createDiscreteApi } from "naive-ui";
const { message } = createDiscreteApi(["message"]);
//
if (response.data.code == 500) {
// 错误弹窗提示
message.error(response.data.msg);
}
直接包裹使用
我们使用官方的案例,看了半天,先贴官方解释
如果你想使用信息,你需要把调用其方法的组件放在
n-message-provider内部并且使用useMessage去获取API。
如果你想知道如何在setup外使用,请参考页面最下方的 Q & A。
官方例子:
<!-- App.vue -->
<n-message-provider>
<content />
</n-message-provider>
不少同学还是不知道咋用,往下看,复制粘贴就完事
App.vue
<template>
<n-config-provider>
<n-modal-provider>
<n-message-provider>
<router-view />
<TheMessage></TheMessage>
</n-message-provider>
</n-modal-provider>
</n-config-provider>
</template>
<script setup>
import { NConfigProvider } from "naive-ui";
</script>
<style scoped></style>
vue 单文件中使用
至于在vue文件中使用,直接引入使用就好
import { useMessage } from 'naive-ui'
const message = useMessage()
message.warning('hello')
【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法的更多相关文章
- Unity 游戏框架:UI 管理神器 UI Kit
UI Kit 快速入门 首先我们来进行 UI Kit 的快速入门 制作一个界面的,步骤如下: 准备 生成代码 逻辑编写 运行 1. 准备 先创建一个场景 TestUIHomePanel. 删除 Hie ...
- 学习通过Thread+Handler实现非UI线程更新UI组件
[Android线程机制] 出于性能考虑,Android的UI操作并不是线程安全的,这就意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为了解决这个问题,Android制定了一条简单的规则 ...
- Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果. 下面将由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理. 本文介绍 ...
- 学习通过Thread+Handler实现非UI线程更新UI组件(转)
[Android线程机制] 出于性能考虑,Android的UI操作并不是线程安全的,这就意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为了解决这个问题,Android制定了一条简单的规则 ...
- 面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造
时隔第一次被UI思路激励,到现在1.0的粗糙版本发布,掐指一算整整半年了.半年之间,有些细节不断推翻重做,再推翻再重做.时隔今日,终于能先出来个东西了,这个版本很粗糙,主体功能大概能实现了,但是还是有 ...
- 在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)
最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,Shar ...
- Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线程更新UI界面
目录: Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+L ...
- 【UE4 C++】Slate 初探: Editor UI 与 Game UI
概述 名词区分 Slate Slate 是完全自定义.与平台无关的UI框架 应用 可用于编辑器UI,编辑器的大部分界面都是使用 Slate 构建的 可做为游戏UI 可作为独立应用开发 只能 C++ 开 ...
- iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸
iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
随机推荐
- SciTech-BigDataAIML-TensorFlow-Model的Goal目标 + Principle原理 + Design设计 + Compile编译:设置(LossFunction+Optimizer+Metrics)与编译
model模型 What是什么 社会化大生产角度:Model模型 是"劳动产品", 数字化/数据化时代 自动"炼金机". 社会角度:金钱与价值创造将在一定程度上 ...
- SIP REG Digest认证算法分析
一.回顾SIP Register的认证过程 Client(通常是话机)向REG Server(一般是OpenSIPS或Freeswitch)发起REGISTER注册请求(注:此时发送的请求里,只有一些 ...
- Unity Hierarchy 视图图标绘制
using UnityEditor; using UnityEngine; [InitializeOnLoad] class UGUIOpenedPanelEditor { static readon ...
- 用户分享 | Dockquery,一个国产数据库客户端的初体验
DockQuery ,「天狼」也,中原本土狼种.天狼年纪很小,不满一岁,但它有一个伟大的梦想--建造一座能容纳中原群狼的宫殿!它不想再被异域狼欺负,不想被异域狼群挤占生存空间,它想带着本土的弟兄们杀出 ...
- CVE-2022-41678 后台代码执行漏洞 (复现)
执行docker compose up -d启动容器 访问ip:8161 默认账密admin/admin登录后台 复现方法1: 通过修改 Log4j 配置写入任意文件 执行python3 poc.py ...
- codewarrior_v5.2版本添加MCU型号
最近准备搞9S12G48的软件开发工作,在准备软件开发环境的时候遇到一个很大的难题:codewarrior5,2版本里面没有我想要的单片机型号 开发的第一步就出现问题,让我很是苦恼,于是我想着如何解决 ...
- 文声图防御框架原理笔记:Interpret then Deactivate(ItD)
Sparse Autoencoder as a Zero-Shot Classifier for Concept Erasing in Text-to-Image Diffusion Models 这 ...
- pwndbg常用操作指令
基本命令 help //帮助 i //info,查看一些信息,只输入info可以看可以接什么参数,下面几个比较常用 i b //常用,info break 查看所有断点信息(编号.断点位置) i r ...
- 2024 ICPC南京
The 2024 ICPC Asia Nanjing Regional Contest 外榜 https://board.xcpcio.com/icpc/49th/nanjing 铜线: 3题406- ...
- 如何禁用Console.WriteLine等输出
又想到一个靠谱点的方法,不过调用会有些麻烦,参考下面的代码. class ConsoleOut : TextWriter { private ConsoleOut(TextWriter output) ...