情况:
// 假设 a 是接受后端的数据,他有一个类型 IType
interface IType { arr: { label: string; value: number }[]; key: number }
const a:IType = {
key: 11,
arr: [{ label: '1', value: 2 }]
};
// 但是当我在组件中使用时
// a.arr 需要进行转换 将键名 label 改成 name ,但是报错
a.arr = a.arr.map(v => ({ name: v.label, value: v.value }))
// Type '{ name: string; value: number; }[]' is not assignable to type '{ label: string; value: number; }[]'.
所以
- 如何修改 a 的声明 能使得 arr 的修改能成功
- 不用 另外一个元素代替 如再声明一个类型是正确的b , 把 a 的其余值复制给 b
ps:
不使用 any