typescript - TypeScipt 属性依赖于布尔值?
问题描述
打字稿中有没有一种方法可以使接口依赖于该接口中某些东西的值?我想要做的是我有一个可以选择关闭的盒子,而且无论我们是否存储该动作以使其持久化,它也是可选的,所以我有一个这样的界面:
interface ButtonProps = { closable: boolean, closableKey?: string }
如果 closable 为 false,我不希望人们能够设置 closableKey,反之亦然。TypeScript 可以做到这一点吗?
解决方案
您可以使用联合类型:
type ButtonProps = {
closeable?: false;
} | {
closeable: true;
closeableKey: string;
};
这将导致以下示例显示(非)错误:
推荐阅读
- jenkins - 詹金斯的声纳扫描仪问题
- angular - 无法在角度 6 的 ng2-smart-table 中获取删除事件
- linkedin - 如何在 android 设备的移动linkedin 应用程序中开始一个新段落?
- java - 如何将 API 访问信息输出到记录器文件中?
- javascript - React + Redux + Babel(...状态意外令牌中的 SyntaxError)
- python - 如何在 One2many 字段或关系表上基于 group by 进行搜索视图
- java - 自定义 JNI 方法链接器或在 Java 应用程序中注册
- java - 初始化 StandardFileSystemManager 的最佳实践是什么
- c++ - 令人不安的评价顺序
- php - 将用户名保存在变量/函数中以备后用