下面ts定义报错了,要如何修改?
key, text 两个变量都属于 list数组里面对象的key; 比如
export interface TableProOptions {
[key: string]: {
text:string
},
}
export function transformToSelectObj<T extends U,K extends U, U extends string>(list: { [key: U]: any}[], obj: {
key: T,
text: K
}): TableProOptions;
export function transformToSelectObj(
list,
{
key,
text,
}
) {
const listProObj: TableProOptions = {};
if (list instanceof Array && list.length > 0) {
list.forEach((item) => {
listProObj[item[key]] = {
text: item[text],
};
});
}
return listProObj;
}
transformToSelectObj([{
id:'id1',
label: "label1",
}],{
key: 'id',
text:'label2' // label2 不等于 label 这里应该报错
})
or