现在要写两个方法:
内层方法是一个公共方法(或者叫工具方法),我期望参数限制为某种格式嵌套:
interface DataItem<T> {
data: T;
fileNamae: string;
}
interface DataObj {
[index: number]: DataItem;
}
function generateData(form: DataObj) {
// 处理form
return form
}
外层方法参数接口限制参数的名称,例如:
interface IForm {
a: DataItem;
b: DataItem;
}
function getData (form: IForm) {
// 将form直接转换格式
const finalData = generateData(form)
}
目前这样写,会提示类型“IForm”的参数不能赋给类型“DataObj”的参数。
。
以上代码随便写的,初学中,可能有错请谅解,希望获得一个用TS做这种东西的思路。
更:
描述确实不够清晰,上面的代码实例描述如下:
我要封装一堆api请求方法,某些接口需要用到一种特殊的数据结构,要把处理这种数据结构的方法封装成一个公共函数。
这个函数接收一个特定的结构的参数,比如是一个对象数组,里面的结构固定。
然后那些api请求方法的参数则是普通的接口,可以提示需要哪些key。
我希望把api方法的参数直接传给公共函数,应该怎样用ts描述?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…