typescript - 打字稿在具有内在性的界面中使属性可选
问题描述
我的目标是克隆一个界面但更改一些参数。我从我的数据库中得到了一个默认生成的界面,就像这个
interface Db {
id: number;
name: text;
...
}
界面很长,这就是为什么我不想复制所有这些(也因为如果数据库模型发生变化,我不想手动更改我的第二个界面)。
所以,我的第二个界面应该与数据库完全相同,但 id 是可选的
我试过了:
interface NewInterface extends Db {
id ?: number;
}
但它给我一个错误:id is need in ... but optionnal in ...
我也更喜欢避免在我的代码中使用删除运算符。但它不起作用,有人知道吗?
解决方案
你可以这样定义你的 NewInterface:
interface NewInterface extends Omit<Db, 'id'> {
id?: number;
}
推荐阅读
- python - 如何使用 Python 将 CP1252 文本文件转换为 Ascii 以进行电子邮件导出?
- python - python如何提取字符串中两个已知单词之间的文本?
- ruby-on-rails - 如何在开发环境中跳过 before_filter
- python - 在 OpenCV 中将图像从极坐标逆变换为笛卡尔坐标
- javascript - Sequelize - 如何在多属关联中设置外键名称
- nlp - 在 BERT 中用预先计算的结果替换位置嵌入会导致预测结果不佳
- c - 嵌套 for 循环的索引值达到 500 万 - C
- android - 从 View Pager 中的片段开始的新片段是否应该加载到新活动中?
- ruby-on-rails - gmail newsletter/promotion tag?
- odata - 当实体有孩子时,补丁增量为空