typescript 扩展第三方库类型,添加属性成员

2023-10-31

preface

之前在使用 axios 的时候,需要在 AxiosRequestConfig 中添加自定义属性,比如说

  1. 配置是否使用 loading 效果
  2. 配置 业务报错是否 自动提示

我选择了通过过 扩展接口, 然后自定义了一个函数,在函数内部 才会使用 axios 解决了这个问题

当然 开始我是通过 声明文件 解决这个问题, 下面记录下怎么通过声明文件解决问题的

案例

ionic react 项目

1. 扩展 axios 的 AxiosRequestConfig 接口属性成员

1.1 没有扩展前显示报错

在这里插入图片描述

1.2 项目 src目录下 创建 shims.axios.d.ts 声明文件

这就是 interface 接口 合并

import { AxiosRequestConfig } from 'axios'

declare module 'axios' {

  export interface AxiosRequestConfig {
    loading?: boolean
  }
} 
1.3 添加 扩展属性成员声明后

啦啦啦,不报错啦
在这里插入图片描述

2. 扩展 antv/f2 chart.tooltip config 的 layout 属性

最近 在写移动端 charts 项目, 然后选择了 antv/f2 ,对比了 echarts , hightcharts ,最后选择了 antv/f2

  1. 因为 highcharts 需要授权,之前用过,但是公司估计不愿意话费这笔钱还是放弃
  2. echarts 应该是可以满足需求的
  3. antv/f2 是针对移动端的,而且以后小程序 可以使用,看了效果还不错, 所以选择用这款框架
  4. 背后有 阿里爸爸

这个问题 感觉是该项目的一个bug, 后期应该会改的

2.1 未扩展前

在这里插入图片描述

2.2 src 目录添加 shims.antv-f2.d.ts
import { TooltipParams } from '@antv/f2'

declare module '@antv/f2' {
  export interface TooltipParams {
    layout?: string
  }
}

3. 显然不报错了

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

typescript 扩展第三方库类型,添加属性成员 的相关文章

随机推荐

  • 基于Vue实现动态组织结构图

    最近一个项目里有个前端绘制家谱图的需求 大概是下面这个样子 基于Vue实现动态组织结构图 点击节点会弹出操作菜单 实现增删改查等操作 查阅网上资料发现 现有案例基本都是基于orgchart这个jQuery插件实现的 我们的项目是基于Vue的
  • mapbox-gl 点位编辑功能

    文章目录 前言 方式一 借助 Marker 添加自定义icon 添加POI图层 绑定对应事件 基于Marker交互 创建自定义Marker 编辑 创建POI 方式二 采用 mapbox gl draw 插件 总结 前言 矢量在线编辑是gis
  • Matlab的double函数

    将一个数用浮点数的形式表示 比如在复数表示中 举例如下 1 double 1 i 2 i 1 4 1 2 得到 ans 0 9943 0 4733i 2 double cosh 1 2 sinh 1 2 i 1 得到 ans 0 8868
  • 基于vue的长列表虚拟滚动插件

    基于vue的长列表虚拟滚动插件 1 背景 一个长列表 Web 页面 如果需要展示成千上万条数据 那么页面中就会有数万甚至数十万的HTML节点 会巨大的消耗浏览器性能 进而给用户造成非常不友好的体验 主要体现在以下几个方面 页面等待时间极长
  • 图像边缘锯齿及处理方法

    形态学处理 二值图像 处理方法有多种 比如 smoothing edges of a binary image 前置滤波 后置滤波 基于光线追踪的抗锯齿 插值滤波 由采样引起的边界失真处理 如双线性滤波 及相关改进的插值滤波方法 改进的滤波
  • C++的函数重载

    每个现象后面都隐藏一个本质 关键在于我们是否去挖掘 写在前面 函数重载的重要性不言而明 但是你知道C 中函数重载是如何实现的呢 虽然本文谈的是C 中函数重载的实现 但我想其它语言也是类似的 这个可以分解为下面两个问题 1 声明 定义重载函数
  • (记录)JAVA-Swing 简单的登录注册 使用记事本来保存账号密码

    更新时间 2022年10月1日12 30 22 java代码规范中 验证码不能使用伪随机数 需要使用强随机数 效果图 提示信息放在通知台输出 账户和密码都是通过正则表达式来校验的 验证码是通过花瓣画出来生成图片的 点击验证码可以切换图片 j
  • SpringBoot 集成Dubbo 提示:java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

    今天搭建SpringBoot 集成Dubbo 提示如下错误信息 java lang NoClassDefFoundError org apache curator RetryPolicy 原因 缺少curator框架依赖 pom xml 文
  • Ubuntu ndk 编译libx264

    ffmpeg android dlopen failed library libclang rt ubsan standalone aarch64 android so not found nkd 编译ffmpeg错误 clang is u
  • 用Word+ChatGPT一分钟搞定周报总结

    Office 的办公软件Word 是我们日常的文字工作的阵地 与ChatGPT的文字生成功能有天然的互补性 微软的Office365 Copilot已经集成了这个功能 但需要收费 我们可以使用现有的Word ChatGPT 手动来回Copy
  • VS Code 配置 MySQL 数据库环境

    1 Windows安装mysql link https blog csdn net ZHorcrux article details 130502249 2 使用 VS Code 连接 MySQL 数据库 link https blog c
  • 【代码随想录】Day57 动态规划17 (回文子串、最长回文子序列)

    第一题 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 二维dp数组 从下往上 从左往右推 int countSubstrings string s vector
  • 爬虫之selenium开启无界面模式

    绝大多数服务器是没有界面的 selenium控制谷歌浏览器也是存在无界面模式的 又称之为无头模式 开启无界面模式的方法 实例化配置对象 options webdriver ChromeOptions 配置对象添加开启无界面模式的命令 opt
  • AutoDL跑pycharm代码

    参考文献 AutoDL帮助文档 Pycharm连接远程GPU服务器跑深度学习 哔哩哔哩 bilibili 环境包的安装在linux环境下载非常方便 安装apex 重点是将路径转换正确 参考文献 详解Apex的安装和使用教程 花开山岗红艳艳的
  • VIVADO关于VIO IP核(Virtual Input/Output)的使用

    平台 vivado2017 4 最近在验证一个单独的模块时 希望可以在线实时改变内部寄存器的值 经过分析发现 VIVADO的VIO可以完美解决我的这个问题 下面来看看官方介绍 VIO它可以实时监控和驱动FPGA内部的信号 输入和输出端口的数
  • Java EnumMap values()方法具有什么功能呢?

    转自 Java EnumMap values 方法具有什么功能呢 下文笔者讲述EnumMap values 方法的功能简介说明 如下所示 EnumMap values 方法的功能 返回一个Collection 此集合中存储EnumMap中的
  • 如何阅读英文文献,有哪些高效的方法或者辅助工具?

    每日一问 如何阅读英文文献 有哪些高效的方法或者辅助工具 Datawhale优秀回答者 追风者 方法 先是通读文献综述 理解专业术语和基本概念 起初时应以泛读为主 再研读自己研究领域的经典论文50篇 确定研究方向之后 要以精读为主 要做到边
  • 线性代数 计算机网络,计算机应用、计算机网络专业《线性代数》课程.doc

    2006级函授建筑工程 计算机应用 计算机网络专业 线性代数 课程 自 学 指 导 和 自 学 进 度 表 一 课程的目的 任务和要求 本课程是为培养建筑工程 计算机应用 计算机网络及工程等专业人才而设置的一门必修的重要基础理论课 作为信息
  • 【Redis】举例让你快速理解!Redis数据结构与命令(更新中)

    Redis 数据存内存 C语言实现 单线程架构 基于键值对 值可以为字符串 哈希 列表 集合 有序集合 键过期功能实现缓存 流水线功能减少网络开销 持久化 数据内存 gt 磁盘 主从复制 数据多副本 高可用 故障发现与自动转移 分布式 奇数
  • typescript 扩展第三方库类型,添加属性成员

    preface 之前在使用 axios 的时候 需要在 AxiosRequestConfig 中添加自定义属性 比如说 配置是否使用 loading 效果 配置 业务报错是否 自动提示 我选择了通过过 扩展接口 然后自定义了一个函数 在函数