我正在为Qlik Sense 3.0应用程序进行extesion。
我在qlik社区上做了同样的话题,但没有得到答案。
https://community.qlik.com/thread/231938
我希望有人能在这里帮助我。
确定。我有一个功能:
function whenMonthsSelected(fieldName){
var field = app.field(fieldName);
var fieldData = field.getData();
console.log("fieldData");
console.log(fieldData);
console.log(fieldData.rows.length);
}
当我执行它时,我在浏览器中收到:
在结果中我有0个元素的数组。
我的问题是...... 我该怎么做才能接收12行数组?
此数组存储12行(有关月份的信息)。我可以通过点击树来接收数据。但是在控制台中我总是接收带有0元素的数组。
感谢。
答案 0 :(得分:0)
您需要绑定到OnData事件。数据以异步方式加载到行集合中。以下打字稿示例显示了这个想法。
getField(field: string): Promise<any> {
let self = this.app;
return new Promise(function (resolve, reject) {
try {
let reply: any;
let listener = function () {
self.field(field).OnData.unbind(listener);
resolve(reply.rows);
}
self.field(field).OnData.bind(listener);
reply = self.field(field).getData();
} catch (ex) {
reject(ex);
}
});
}
答案 1 :(得分:0)
看起来这段代码可以满足您的需求:
var fieldValues = app.field("SomeFieldName").getData();
fieldValues.OnData.bind(function () {
console.info("waitedForData>>>",fieldValues.rows);
});