Qlik Sense:TypeError:无法读取null的属性“ interactionState”

时间:2018-08-22 19:23:23

标签: javascript qliksense

背景

在Qlik Sense中,我使用了QS Table扩展名,并对其进行了少许修改,以便如果我添加一个尺寸即应用程序中其他工作表的名称,则可以通过点击td来导航到它们元件。

我对QS表代码的修改:

// added to the create rows function
else if(~cell.qText.toLowerCase().indexOf('<sheet>')){
    var nameOfSheet = cell.qText;
    html += "QSsheetName' style='cursor: pointer;'"+'>'+nameOfSheet.slice(7, nameOfSheet.length)+'</td>';
}

// added a navigation function. Takes the text from the td element
// and then uses it to find out the Sheet Id of the sheet with that
// name and then uses the qlik.navigation api to go there.
var app = qlik.currApp();
function navigateToSheet ( sheetName ) { 
    var allSheets = {}; 
    app.getList('sheet', function(reply) { 
      $.each(reply.qAppObjectList.qItems, function(idx, value) { 
        allSheets[value.qData.title] = value.qInfo.qId; 
      }); 
      var mySheetId = allSheets[sheetName]; 
      qlik.navigation.gotoSheet(mySheetId); 
    }); 
};

// added a listener in the Paint section to call navigation function on qlik
$element.find("td.QSsheetName").on('click', function() {
  var elementText = $(this).text();
  navigateToSheet(elementText);
});

问题

如果我单击QS表中的td元素之一导航到工作表 A ,它将导航到工作表 A 。但是,如果我离开工作表 A 并转到工作表 B ,然后单击任何交互式的内容,例如折线图上的某个点,那么我会自动发送回工作表 > A 。控制台并不总是产生错误,但有时会报告以下错误:

TypeError: Cannot read property 'interactionState' of null  
    at Class.c.onPaint (client.js?1522774745642:1)  
    at client.js?1522774745642:1  
    at a (require.js?1522774745642:1)  
    at require.js?1522774745642:1  
    at p.$eval (require.js?1522774745642:1)  
    at p.$digest (require.js?1522774745642:1)  
    at p.$apply (require.js?1522774745642:1)  
    at require.js?1522774745642:1  
    at o (require.js?1522774745642:1)  
    at require.js?1522774745642:1 

我添加了这一行:     console.log(“已点击表格”)

到我的jQuery侦听器,但是在我第一次单击表后它没有记录任何内容。因此,以某种方式缓存了随机导航,或者我不确定。有人能帮忙吗?

0 个答案:

没有答案