用作索引器键的打字稿文字类型

2023-11-21

有没有什么方法可以定义可以用作索引器中的字符串键的打字稿文字类型?

type TColorKey = 'dark' | 'light';

interface ColorMap {
    [period: TColorKey]: Color;
}

这会引发错误:An index signature parameter type must be 'string' or 'number'.


是的,这是可能的,这要归功于一项名为映射类型。只需确保您使用的是夜间版本的打字稿编译器(typescript@next)因为它还不是稳定的版本(在我写这篇文章时)。

type TColorKey = "dark" | "light";

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

用作索引器键的打字稿文字类型 的相关文章

随机推荐

  • 是否可以通过按钮单击事件导航到枢轴控制页面

    我正在尝试创建一个 wp7 枢轴控制应用程序 单击第一页中的按钮后 我想导航到已经是枢轴页面的另一个页面 是否可以 例如 如果您对 Pivot 控件有以下定义
  • 时间相关的单元测试

    我需要测试一个函数 其结果将取决于当前时间 使用 Joda 时间 isBeforeNow 事情就这么发生了 public boolean isAvailable return this someDate isBeforeNow 是否可以使用
  • R 中多项式的拟合值:参考类别的系数?

    我使用 nnet 包中的函数 multinom 来运行多项逻辑回归 In multinomial logistic regression as I understand it the coefficients are the changes
  • 直接访问实例变量时使用 self->ivar

    我注意到大多数 Objective C 程序员从不使用self gt ivar直接访问实例变量时的语法 我看到的大多数示例代码只是引用实例变量而没有self gt 我认为引用实例变量而不明确它是实例变量而不仅仅是当前范围的变量是相当令人困惑
  • graphviz:如果输出是 SVG,则不会插入 SVG 图像的节点

    我创建了一个小的 SVG 图像 它在 Firefox 中渲染得很好 然后我创建了一个 graphviz 文件包含 除其他外 mynote label image mybox svg 然后我运行了这个 dot Tsvg svg core in
  • Chrome 的 --auto-open-devtools-for-tabs

    我正在尝试使用命令行开关从快捷方式启动 chrome 时自动打开开发工具 auto open devtools for tabs 即该快捷方式的路径是 C Program Files x86 Google Chrome Applicatio
  • 填充可变数量的

    用未知 在编译时 数量填充变量的最佳方法是什么 例如 假设 int n 5 int b fillwithones 5 现在 b 包含 11111 二进制 我不能只是硬编码 int b 31 因为 n 提前不知道 在我的应用程序中 我可以做这
  • 我自己的存储和检索使用 Delphi 文本 DFM 格式的寿命很长

    随着时间的推移 我已经推出了自己的格式来保存和加载对象属性 但在必须重新访问时 我想知道是否使用 Delphi 自己的文本 DFM 格式 我知道这确实是一种 内部 格式 但它的读者现在似乎定义得很好 并且它可以处理所有类型的属性 有人对可能
  • 在 git-svn 项目中使用 git 子模块

    在我们的 git svn 管理的项目中 我们有 3 个上游项目 它们都保存在 GitHub 上的本机 git 存储库中 由于这些上游项目的源代码在我们的控制之下并且经常更改 因此我们当前的解决方案 即每次更改某些内容时都将构建工件重新部署到
  • 如何使用JS和传单层控件更改基础层

    我必须修改现有的应用程序 其中使用传单图层控件 我需要在启动地图时显示基础图层之一 有没有办法 如何从 JS 脚本调用层控件中的某些函数 比如 control select 1 如果没有 如何以与控件相同的方式添加图块图层 当我在地图初始化
  • Three.js - 鱼眼效果

    所以 我搞砸了three js 效果很好 我唯一不明白的是如何制作具有真正鱼眼效果的相机 这怎么可能 camera setLens 鱼眼效果可以使用 Giliam de Carpentier 的镜头畸变着色器来实现 着色器代码 functi
  • 如何使用Excel VBA制作外部日志?

    代码已更新以引用以下更改 该日志系统为 Excel 创建一个名为 Log txt 的外部文档 它将在 log txt 文件中创建一行 如下所示 11 27 20 AM Matthew Ridge 将单元格 N 55 从 ss 更改为 这不会
  • JDK8 无法与 JDK8(WS 客户端)一起使用

    我有一个非常简单的 现有的 Web 服务 我想使用 JDK8 生成一个 Web 服务客户端 我使用的是纯 JDK8 工具链 这意味着我使用 JDK8 目录中的 wsimport 工具 现在问题来了 JDK8 中的 wsimport 工具生成
  • Angular2 异常没有字符串提供者

    我有一个使用 ng cli 创建的全新应用程序 用这个非常简单的代码 import Component from angular core Component selector app root templateUrl app compon
  • 替换字符串中字符的所有实例的最快方法[重复]

    这个问题在这里已经有答案了 在 JavaScript 中替换字符串中字符串 字符的所有实例的最快方法是什么 Awhile a for loop 正则表达式 最简单的方法是使用正则表达式g替换所有实例的标志 str replace foo g
  • 连接管理器 unregisterNetworkCallBack 已取消注册

    在我的 Android 应用程序中 我正在取消注册活动的网络回调 onPause 有时我会遇到错误 原因是 java lang IllegalArgumentException NetworkCallback was already unr
  • Django 中的 URL 路径参数与查询参数

    我已经环顾了一段时间 似乎找不到任何涉及差异的东西 正如标题所述 我试图找出通过 url 路径参数获取数据的区别 例如 content 7然后在 urls py 中使用正则表达式 并从查询参数中获取它们 例如 content num 7 u
  • ASP.NET -- IIS7 -- IBM DB2 问题

    我正在开发一个调用 DB2 数据库的 ASP NET 网站 我在将托管该站点的 Windows 2008 服务器上安装了 Visual Studio 当我使用集成 Web 服务器在 Visual Studio 中调试站点时 我可以连接到数据
  • 将 NSAttributedString 添加到 UIBarButtonItem

    我正在尝试在后栏按钮项目上设置属性字符串 这是我第一次尝试属性字符串 这是代码 self navigationItem hidesBackButton true let barButtonBackStr lt Back var attrib
  • 用作索引器键的打字稿文字类型

    有没有什么方法可以定义可以用作索引器中的字符串键的打字稿文字类型 type TColorKey dark light interface ColorMap period TColorKey Color 这会引发错误 An index sig