typescript - 带有通用键的打字稿界面
问题描述
我正在为打字稿前端/后端应用程序定义一个 api。
现在我想编写一个接口,它允许包含在另一个接口中定义的所有可用键,前缀为filter.
假设我有一个用户界面
interface User {
firstname: string;
lastname: string;
}
可以过滤用户请求,所以我的一般请求是用 FilteredRequest 扩展的
interface FilteredRequest<T> {
[key: 'filter.' + keyof T]: any;
}
这可以用打字稿吗?
好的,因为现在这是不可能的。
也不用 someting 为键添加前缀也不起作用
interface FilteredRequest<T> {
[key: keyof T]: any;
}
An index signature parameter type must be 'string' or 'number'.ts(1023)
但是 keyof 旨在返回一个string
或number
解决方案
不幸的是,这在当前 (3.4.5) 版本的 Typescript 中是不可能的。
推荐阅读
- ios - 带有 GeometryReader 和填充的 SwiftUI HStack
- agda - Agda 中数据结构的导数
- c++ - 有没有办法让派生类让基类编辑受保护的变量
- matlab - Regionprops vs. PodczeckShapes/DIPimage Circularity 问题 - Matlab
- python - 找不到使用 selenium 和 python 下载图片的方法
- android - Android Room,使用空参数查询
- clojure - 在 Repl 中使用 Clojure 而不打开右括号
- javascript - 在 JavaScript 中是 ++ = +1 吗?
- java - 将 rsa 私钥分成两半
- jenkins - 如何使用 ansible 或其他工具为 Jenkins 自动配置 LDAP 和其他插件