export type tableData = {
a:string;
b:string;
c:string;
d:string;
}
type res<T>={
message:string;
success:boolean;
code:number;
data:T;
}
export function getList<T>(params: query请求参数的类型,data:body请求参数的类型):Promise<res<T>>{
return api.request({
url:路径,
params,
data,
method:请求方法
}) as Promise<res<T>>
}
// 页面上用的时候
const data = ref<tableData>([])
const a = async ()=>{
const res = await getList<tableData>(params,data)
data.value = res.data
}
这是个表格数据的请求接口, 首先要定义一个表格所有用到的数据类型,就是那个tableData,然后再定义 接口返回的通用类型res ,res<T>里面的T就是那个传进去的泛型推导, 页面上data要用tableData 定义, 在发送请求的时候 getList后面传进 tableData ,这个tableData 就到了请求函数的那个 <T> ,T相当于一个函数的入参, 把 tableData传过去 , T = tableData ,然后返回结果的类型res<T> 里面的 data 的类型就是 tableData 了