5

我正在尝试将 a 添加legend到我的 extjs 5 图表中,但它似乎不起作用。这是一个错误还是我做错了什么?

legend: {  
    docked: 'top',
    style: {
         borderColor: 'red',
         borderStyle: 'solid'
    }
}
4

2 回答 2

4

我一直在研究同样的问题一段时间 - 最后提交了一份 Sencha Bug 报告:

http://www.sencha.com/forum/showthread.php?289279-Sencha-5-Charts-Broken-Legend

长话短说,在下一个 EXTjs 推出中“据说”有一个修复程序。不幸的是,这对我们现在没有帮助......

但是,您可以为图例创建一个 tpl - 但我的 tpl 不如原生 extjs 图例那么健壮。它仍会显示/隐藏系列,但不会掩盖图例中的系列。我仍在完善 TPL,并将在我开始工作时发布更新。

legend: {
        docked: 'top',
        border: 0,
        style: { borderColor: 'red' },
        tpl: [            
            '<tpl for=".">',                
                '<div class="myLegendItem" style="float:left;margin:5px;padding:0px;cursor:pointer;">',
                      '<div class="" style="float:left;margin:2px;width:10px;height: 10px; background:{mark};opacity:.6"></div><div style="float:left;">{name}</div>',                                      
                '</div>',                    
            '</tpl>'                
        ],
        itemSelector: '.myLegendItem'
},
于 2014-07-29T13:57:16.477 回答
2

要屏蔽图例中的非活动系列,请使用三元运算符检查 values.disabled

<div class="x-legend-container">
    <tpl for=".">
        <div class="x-legend-item {[ values.disabled ? Ext.baseCSSPrefix + 'legend-inactive' : '' ]}">
            <span class="x-legend-item-marker" style="background:{mark};float:left;width:10px;height:10px;"></span>
            <span style="float:left;margin-left:4px;">{name}</span>
        </div>
    </tpl>
</div>

此外,如果需要,添加一个 CSS 类

x-legend-inactive{
   opacity: 0.5;
}
于 2014-08-18T13:19:00.220 回答