首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除字符串中的键?

如何排除字符串中的键?
EN

Stack Overflow用户
提问于 2022-05-27 02:40:48
回答 1查看 82关注 0票数 1

如何排除字符串中的键?

就像这样:

代码语言:javascript
复制
declare interface PresetConfig {
  root?: HTMLElement
  tunneling?: boolean,
  applets?: {
    system?: SystemAppletSettings
    frameworks: FrameworksAppletSettings
    [key: Exclude<string, 'frameworks' | 'system'>]: AppletSettings | undefined
  }
}

Exclude<string, 'frameworks' | 'system'>不起作用。

EN

回答 1

Stack Overflow用户

发布于 2022-05-27 03:39:46

目前似乎不可能从一般的string类型中排除特定的字符串值。在否定类型上已经完成了一些工作,但是还不清楚这是否和什么时候会使它真正进入TypeScript (参见这里,以及一些用例的解决方案这里 )。

但是,对于您的具体情况:如果SystemAppletSettingsFrameworkAppletSettings都扩展了AppletSettings,则可以使用相交类型来获取所需的内容:

代码语言:javascript
复制
interface AppletSettings {a: any};
interface SystemAppletSettings extends AppletSettings {sa: any};
interface FrameworksAppletSettings extends AppletSettings {fa: any};

declare interface PresetConfig {
  root?: HTMLElement
  tunneling?: boolean,
  applets?: {
    system?: SystemAppletSettings
    frameworks: FrameworksAppletSettings
  } & {
    [key: string]: AppletSettings
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72399906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档