小编use*_*925的帖子

如何解决打字稿错误“类型‘X’的参数不可分配给类型‘Y’的参数

更新:最小示例代码复制

我有自动生成的代码(Graphql-Codegen),可以生成以下类型。为了简单起见,我将其压缩了。

export type AccessControlList = {
  __typename?: 'AccessControlList';
  id: Scalars['Int'];
  subscriber: Scalars['Int'];
  subscriberRel: MasterSubscriberData;
};

export type Query = {
  __typename?: 'Query';
  workOrders: Array<WorkOrdersGroupBy>;
  viewer: AccessControlAccounts;
};
Run Code Online (Sandbox Code Playgroud)

由于我只对此示例的查看器感兴趣,因此我使用 Typescript Pick 选择它

export type ViewerType = Pick<Query, 'viewer'>;
Run Code Online (Sandbox Code Playgroud)

它还会自动为需要 AccessControlAccounts 中某些但不是所有可能字段的查询生成专用类型,并且我需要的字段也有所不同。我在这里省略了 MasterSubscriberData 的类型定义,但可以在下面推断出来(但本示例并不真正需要)

不同的查询需要访问查询结构的不同部分,因此为每个不同的查询生成不同的类型,例如

export type LeadSourcesQuery = 
{ __typename?: 'Query', 
  viewer: { __typename?: 'AccessControlAccounts', 
            AccessControlList: Array<{ __typename?: 'AccessControlList', 
                                     subscriberRel: { __typename?: 'MasterSubscriberData', 
                                     LeadSources: Array<{ __typename?: 
                                     'LeadSources', id: number> } 
                                    }> 
         } 
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个通用函数,它可以返回对常用访问的深层嵌套对象的引用,而不管传递的子查询类型如何(例如LeadSourcesQuery等)。我想出的方法可以在运行时运行,但无法通过 Typescript 静态检查。

// …
Run Code Online (Sandbox Code Playgroud)

typescript typescript-generics graphql-codegen

11
推荐指数
1
解决办法
1915
查看次数

matlab,如何将文本和数值数据导出到excel csv文件?

当我使用下面的代码.我得到了正确导出的数值数据,但是当每列的第一行应该有标题(标题)时,第一行是空白的.有解决方案吗

clc 
clear

filename = 'file.csv'; 
fileID = fopen(filename,'wt');
%**************************************************************************
%Sample data (note sample data are transposed row, i.e. columns) 

sample1 = [1,2,3,4]';
sample2 = [332.3, 275.8, 233.3, 275]';
sample3 = [360, 416.7, 500, 360]';
sample4= [-0.9, -0.9, -0.9, -0.9]';
sample5 = [ 300000, 0, 0, 0]';

A ={'text1','text2', 'text3', 'text4', 'text5'}; %'

%***************************************************************************
%write string to csv

[rows, columns] = size(A);
for index = 1:rows    
    fprintf(fileID, '%s,', A{index,1:end-1});
    fprintf(fileID, '%s\n', A{index,end});
end 

fclose(fileID);

%***************************************************************************
%write numerical data to csv …
Run Code Online (Sandbox Code Playgroud)

csv excel matlab text export

4
推荐指数
1
解决办法
2万
查看次数