TS。类型“ {....}”的参数不能分配给类型“ IEmbedConfigurationBase”的参数

时间:2020-01-31 12:26:02

标签: typescript powerbi

我正在尝试使用ASP.NET和C#为网站编写嵌入式powerbi界面。目前,我陷入了错误。

我正在使用the powerbi-javascript own github wiki是为了更好地了解其制作方法。

通过一些工作,我设法解决了一些问题和错误,现在就可以解决了。

但是,就目前情况而言,我无法解决此错误。

该错误的完整消息是:

严重性代码描述项目文件行抑制状态 错误TS2345(TS)类型'{type:string; id:字符串; embedUrl:字符串; tokenType:任意; accessToken:字符串;设置:{filterPaneEnabled:布尔值; navContentPaneEnabled:布尔值; }; }”不能分配给“ IEmbedConfigurationBase”类型的参数。 属性“设置”的类型不兼容。 类型'{filterPaneEnabled:boolean; navContentPaneEnabled:布尔值; }”与“ ISettings”类型没有共同的属性。 TenantPortal C:\ Users \ ext-patrik.ek \ source \ repos \ TenantPortal \ TenantPortal \ TenantPortal \ wwwroot \ js \ powerbi.ts 20有效

TS代码如下:

import * as pbi from 'powerbi-client';
let powerbi = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory);  

var models = window['powerbi-client'].models;

var config = {
    type: 'report',
    id: 'ID',
    embedUrl: 'https://app.powerbi.com/',
    tokenType: models.TokenType.Embed,
    accessToken: 'ACCESSTOKEN',
    settings: {
        filterPaneEnabled: true,
        navContentPaneEnabled: true
    }
};

var $reportContainer = $('#reportContainer');

let report = powerbi.embed($reportContainer.get(0), config); // The error message is under config here

有人知道为什么吗?

在大家问之前,这里未填写accessToken和ID的原因是因为这是项目的一部分,我无法显示其工作。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为此错误是由于配置对象的类型及其属性引起的。

您可以尝试以下格式代码:

 const config = <IEmbedConfigurationBase> <any>{
  type: 'report',
  uniqueId: 'your-report-id ',
  id: 'your-report-id ',
  tokenType: 'Embed Token',
  settings: {
    navContentPaneEnabled: false, 
    filterPaneEnabled: false
  },
  embedUrl: 'your-embed url',
  accessToken: 'your-access-token'
};

有关更多详细信息和参考链接- Interface IEmbedConfigurationBase