[英]Typescript Pick multiple keys
interface A{
a:{
name: string
}
b:{
age: number
}
}
type PickMultiple = ..... //todo
const child:PickMultiple<A,['a','b']> = {
name: 'mike',
age: 18
}
如何提取多個密鑰? 它與Pick Child key
相同
當然Pick<A, 'a'| 'b'>
Pick<A, 'a'| 'b'>
不能按預期工作
interface A {
a: {
name: string
}
b: {
age: number
}
}
type Picked<T, K extends keyof T> = T[K]
const a: Picked<A, 'a' | 'b'> = {
name: '1',
age: 18,
}
console.log(a)
你可能把這復雜化了。
怎么樣..
interface A{
a:{
name: string
}
b:{
age: number
}
}
const child: A['a' | 'b']= {
name: 'mike',
age: 18
}
默認情況下,您實際上可以選擇多個鍵
interface A {
a: {
name: string;
};
b: {
age: number;
};
}
type Picked = Pick<A, 'a' | 'b'>;
查看完整文檔: https : //www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys
它已經支持多鍵
interface Todo {
title: string;
description: string;
completed: boolean;
}
type TodoPreview = Pick<Todo, "title" | "completed">;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.