我正在 Angular 应用程序中显示一系列图表。我需要更新每个图表的数据源并重新绘制它。我的数据源使用返回 promise 的 Angular 服务进行更新。我可以更新数据,但完成后似乎无法重新绘制图表。你能提供一些帮助吗?以下是我的图表的数据源信息。
chartDataEl.dataSource = new kendo.data.DataSource({
transport: {
type: 'json',
read: function(options) {
var request = vm.shipmentManagementRequest;
request.RequestType = myChart.chartData.htmlID;
shipmentService.getBasicChartData(request)
.then(function(result) {
options.success(result.data);
}).catch(function(error) {
options.error(error);
});
}
},
sort: {
field: "date",
dir: "asc"
},
schema: {
model: {
fields: {
date: {
type: "date"
}
}
}
}
});
最佳答案
我能够使用选项数据将图表传递到读取函数中,然后在 promise 返回后调用刷新。
chartDataEl.dataSource = new kendo.data.DataSource({
transport: {
type: 'json',
read: function(options) {
shipmentService.getBasicChartData()
.then(function(result) {
options.success(result.data);
var chart = options.data.chart;
chart.refresh();
}).catch(function(error) {
options.error(error);
});
}
},
sort: {
field: "date",
dir: "asc"
},
schema: {
model: {
fields: {
date: {
type: "date"
}
}
}
}
});
关于javascript - 使用 Promise 更新数据源时刷新 Kendo 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34496133/