比如后台返回一个list,是object[],里面有id,name,age什么的,我在操作时只需要id和name,那我怎么定义这个list的每一项,item:{id:number,name:string,[key: string]:any}这样吗,有没有什么写法可以不用[key: string]:any,
比如后台返回一个list,是object[],里面有id,name,age什么的,我在操作时只需要id和name,那我怎么定义这个list的每一项,item:{id:number,name:string,[key: string]:any}这样吗,有没有什么写法可以不用[key: string]:any,
定义这样就行
只定义你用到的就可以 当然 你也可以把 [key?: string]: any加进去
interface Obj {
id: number;
string: number;
age: number;
}
// list 就可以这样定义
list: Array<Obj> =
// 或者
list: obj[] = ;
没懂你的意思?
你想要灵活定义数组?
interface BaseItem {
id: string
age: number
name: string
}
type List<T = any> = Array<BaseItem & T>
const list: List = []
const listOld: List = [{
id: '025sf',
age: 18,
name: '小明'
}]
const listMore: List<{ old: boolean }> = [{
id: '025sf',
age: 18,
name: '小明',
old: true
}]
13 回答12.8k 阅读
7 回答2k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答1k 阅读
3 回答1.1k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
P.S. 如果你的业务里压根不需要其他的属性,其实你也可以压根不声明它们……