Typescript 如何声明子类类型?

2024-02-15

有可能有这样的事情吗?

export abstract class FilterBoxElement {
    abstract getEntities: any;
}
export interface FilterBoxControlSuggestions extends FilterBoxElement {
    getEntities: // some implementation with different parameters
}
export interface FilterBoxControlDropDown extends FilterBoxElement {
    getEntities: // some implementation with different parameters
}

export interface FilterBoxDataProps {
    controlElement: FilterBoxElement // FilterBoxControlSuggestions or FilterBoxControlDropDown 
}

我要那个controlElement必须是一个FilterBoxControlSuggestions or a FilterBoxControlDropDown。但现在我可以把一切都放进去。有办法实现这一点吗?


您可以使用联合类型来做到这一点:

export interface FilterBoxDataProps {
    controlElement: FilterBoxControlSuggestions | FilterBoxControlDropDown 
}

或者如果您想要 FilterBoxElement 的所有子类,则使用泛型:

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

Typescript 如何声明子类类型? 的相关文章

随机推荐

  • 如何检测我的进程是否正在运行 UAC 提升的进程?

    我的 Vista 应用程序需要知道用户是否以 管理员 身份 提升权限 或标准用户 非提升权限 启动它 我如何在运行时检测到这一点 对于我们这些使用 C 工作的人来说 在 Windows SDK 中 有一个 UACDemo 应用程序作为 跨技
  • 自定义条形图不同的工具提示

    我现在尝试通过 Chart js 绘制条形图 结果为 图1 and 图2 我知道它可以使用tooltipTemplate Files 自定义工具提示 但是可以在不同的栏中显示不同的文本吗 例如 显示12 10 13 20而不是工具提示12
  • 如何将非托管应用程序窗口置于前面,并使其成为(模拟)用户输入的活动窗口

    我假设我需要使用 pinvoke 但我不确定需要哪些函数调用 场景 一个遗留应用程序将运行 我将拥有该应用程序的句柄 我需要 将该应用程序置于顶部 在所有其他窗口的前面 使其成为活动窗口 需要调用哪些 Windows 函数 如果您没有窗口句
  • 使用 MySQL 检索按小时分组的行

    我有一个包含访问日志的表 我想知道一天 24 小时内每小时发生了多少次对 resource id 123 的访问 我检索此信息的第一个想法就是每小时循环一次 并在每个循环中查询表 例如 and time like hour 鉴于time字段
  • Android:按文件名播放/res/raw中的音频文件

    在我的应用程序的 res raw 文件夹中 我有 file1 ogg file2 ogg fileN ogg 在本地数据库中 我有对文件名的引用 即file1 file2 fileN 给定这些字符串之一 说fileM 我怎样才能播放其中包含
  • 在 html_table(rvest) 中指定列类

    我正在使用 rvest 中的 html table 从下面的网站读取两列索引表 两列都包含我想要保留的前导零的实例 因此 我希望这些专栏具有阶级特征 我使用以下代码 library rvest library data table df l
  • C# 和 C++ 之间的进程间通信

    我正在为游戏编写一个机器人 它具有 C API 接口 即 当事件发生时 游戏会调用 Cpp dll 中的方法 该 dll 可以回调游戏中的方法来触发操作 我真的不想用 C 编写我的机器人 我是一个相当有经验的 C 程序员 但我根本没有 C
  • 编码时需要考虑哪些安全问题?

    我知道 SQL 注入是其中之一 其他是什么 OWASP org 保留了一个列表 从OWASP 前十名 http www owasp org index php Category OWASP Top Ten Project
  • PHP 分页与 MySQLi

    我正在构建自己的 CMS 我制作了一个管理系统 我可以用它在数据库中插入帖子 显示帖子不是问题 但我不知道如何进行分页 这是我的查询 SELECT FROM posts WHERE status draft 构建您的查询以获得LIMIT 结
  • 如何使用 xsom\dom\jaxb 获取 xsd 的最大深度?

    如何使用 xsom 获取 xsd 的最大深度 例如 xsd 的每个复杂类型下的元素总数 另外 如果该复杂类型下存在复杂类型 则该复杂类型下的元素 属性的数量 使用 dom xsom jaxb
  • 对c中的int数组进行排序并删除重复项

    我正在学习C 并且谈到了排序的主题 我写了一个comp 功能和使用qsort对数组进行排序int 现在 对于下一个任务 我需要从数组中删除重复项 是否可以同时排序和删除重复项 include
  • 如何使用 Selenium 和 Python 通过爬虫测试非标准下拉列表

    我正在参与一个大学项目 构建一个网页爬虫 现在我遇到了在网页中测试下拉列表的情况 具体来说 以下页面不使用标准的 下拉 类 https www mirrorfiction com zh Hant book 406 我很难实施决策程序来判断网
  • R-闪亮| cat(list(...)、file、sep、fill、labels、append) 中的错误:参数 1(类型“list”)无法由“cat”处理

    我正在尝试编写一个闪亮的应用程序 并且需要先操作我的数据 然后才能开始可视化它 我有三个输入来操纵数据 1 渠道 2 排除某个词 3 查找所有含有该词的评论 我能够完成前两个任务 但是当使用 grep 函数查找包含某个单词的所有行时 我遇到
  • 如何通过NotificationListener利用Android Nougat的直接回复功能?

    我的应用程序正在使用NotificationListener读取来自各种 3rd 方应用程序的消息 例如 WhatsApp 到目前为止 如果只有一个聊天未读 我就能够发送回复 代码如下 然而 就 WhatsApp 而言 getNotific
  • ASP.NET MVC 多线程,值得吗?

    我有点困惑 我的 ASP NET MVC 应用程序将托管在服务器上 那么使其成为多线程有什么意义吗 例如 如果我想要一个线程来执行我的翻译 这是一个好主意吗 有人可以向我详细说明一下吗 我对网络应用程序多线程与桌面应用程序多线程有点困惑 这
  • 安全终止 Spring JMS 应用程序

    我正在开发一个 Spring boot JMS 应用程序 该应用程序严格使用 bean 注释进行设置 并从 WebshpereMQ 读取消息 一切正常 除了我不知道如何安全地关闭这个应用程序 一旦我的 JMSListener 方法读取了所有
  • 如何从 C++ 中的 void 函数中退出?

    如果函数是 void 函数 如何在不返回值的情况下提前退出 我有一个 void 方法 如果某个条件为真 则不需要执行其代码 我真的不想改变方法来实际返回一个值 使用返回语句 return or if condition return 如果您
  • 跟踪通过我的应用程序发送和接收的数据的使用情况

    如何跟踪通过我的应用程序发送和接收的数据的使用情况 我只想记录我的应用程序运行时发送和接收的字节 如果我可以获取 Wifi 和蜂窝网络的单独信息 那就太好了 但这不是优先事项 我知道如何查找设备的总使用情况 https stackoverf
  • 内联表单集在保存时返回空列表?

    当我尝试保存内联表单集时 它只返回一个空列表 并且数据库中没有反映任何更改 我尝试过在没有选项和 commit False 的情况下执行此操作 但它们都有相同的结果 我知道有数据 因为我将表单集打印为表格 并且我知道它是有效的 因为属性 i
  • Typescript 如何声明子类类型?

    有可能有这样的事情吗 export abstract class FilterBoxElement abstract getEntities any export interface FilterBoxControlSuggestions