我指的是Highcharts文档,但我不太了解如何在labelFormatter函数的EXT js循环内添加HTMl。 这是代码:
getLegendConfig: function() {
var ct = this;
return {
align: 'right',
verticalAlign: 'top',
layout: 'vertical',
x: -25,
y: 25,
borderWidth: 0,
floating: type === 'column',
itemMarginBottom: 5,
labelFormatter: function() {
var count = this.y || 0;
Ext.each(ct.data.series, function(ct) {
ct.data.map(function(pt) {
if (pt !== null) {
return [
'<div>',
Ext.util.Format.ellipsis("some name", 48),
'<span class="qx-highchart-legend-item-count">',
Ext.util.Format.number(pt.count, '0,000'),
'</span>',
'</div>'
].join('');
}
})
});
},
useHTML: true
};
}.createDelegate(this)
使用上面的代码,元素内部没有填充任何东西,不确定如何运行。有任何想法吗? 这是小提琴: https://fiddle.sencha.com/#view/editor&fiddle/2k5v 谢谢
答案 0 :(得分:1)
由于您并没有真正的图表,只有getLegendConfig
部分,因此很难给出确切的答案。但是,这可以回溯到您先前询问的带有值的面板的问题。因此,这是一个类似的示例,其中值显示在面板上:https://fiddle.sencha.com/#view/editor&fiddle/2k60
这是主要部分:
series.map((x) => {
return x.data.map(function(pt) {
if (pt !== null) {
return [
'<div>',
Ext.util.Format.ellipsis("name", 48),
'<span class="qx-highchart-legend-item-count">',
Ext.util.Format.number(pt.count, '0,000'),
'</span>',
'</div>'
].join('');
}
})
}),
您必须使用代码compose
,并查看是否获得所需的输出。根据我在上面给出的示例,这将在一个简单的面板上呈现您想要的值,因此它应该与您的作品一起使用。让我知道怎么回事。