1

我正在尝试从另一种类型创建一个类型。该类型将包含基于其前缀的键子集。

基本类型示例:

interface Foo {
  axisControl: FormControl;
  directionControl: FormControl;

  filteredAxis: Observable<string[]>;
  filteredDirection: Observable<string[]>;
}

type Bar = // I want to write something only based on the prefix "filtered"

预期结果:

{
  filteredAxis: Observable<string[]>;
  filteredDirection: Observable<string[]>;
}

这可能吗?怎么做?

到目前为止我已经尝试过:

Pick<Foo, `filtered${string}`>

但这会引发错误。

4

1 回答 1

1

您需要通过交集缩小选择的类型:

type FooWithFiltered = Pick<Foo, `filtered${string}` & keyof Foo>

操场

于 2021-09-07T16:39:55.660 回答