如图每行有个图,表格每5秒刷新一次
时间一久,Chrome 就出现内存泄漏
Column 定义如下
{
title: '趋势', class: 'chart-col',
formatter: function (value, row, index, field) {
let html = [];
if (row.trends) {
html.push("<div class='line-chart' data-pk='" + row.name + "'></div>");
}
return html.join();
}
}
在 onPostBody 事件中初始化 echarts
onPostBody: function (data) {
$('#table').find('.line-chart').each(function (index, item) {
var myChart = echarts.init(item);
// 异步加载数据
$.get('propertyValueLineChart', {
id: entityId, pk: $(item).data('pk'), limit: 120,
}).done(function (data) {
// 填入数据
myChart.setOption({
// .... //
});
});
});
}
echarts.init(item);
每次都init,这里导致内存泄漏
在onRefresh里dispose实例
onRefresh: function (data) {
$('#table').find('.line-chart').each(function (index, item) {
var chart = echarts.getInstanceByDom(item);
echarts.dispose(chart);
});
}