Closed sherjf closed 3 years ago
我抽空看一下
Facet图表的eachView函数内,可以支持数组的迭代方法,如.map().filter()等,但其它图表不行,希望能一并修复下。
给我个例子吧
类似这个例子,可以使用自定义外部函数。 已知问题:
建议: 能否升级下,让所有图表的options类似eachView,支持函数,如function options(params),这样插件的灵活性及拓展性将大大增强。
options:
...
legend:
itemValue:
formatter: function formatter(text, item) { return item.name }
eachView: |
function eachView(view, f){
function ArrayStatistic(array,key) {
var obj = array.map((item)=> {
return item[key]
}).reduce((pre,cur)=> {
if(cur in pre) {
pre[cur]++
}
else {
pre[cur] = 1
}
return pre
},{});
var arr = Object.keys(obj).map((i)=> {
return {
name: i,
value: obj[i],
}
});
return arr
};
1.0.12 版本先试一下,可能跟Bug有关。
经测试,发现eachView上级的tooltip使用formatter自定义函数不会报错了,但没有效果,即无输出,表明未完全修复Bug。 目前只有eachView函数支持对data数据的二次计算和加工。
下一版本能升级使其它图表也都支持自定义函数和数据加工,而不仅限于formatter等有限的函数。
能否使用函数需要看Ant Design Charts的文档,文档里的属性如果是支持函数的,都可以使用函数。
实现下图Legend中的itemValue,需要用到自定义函数功能,但目前不支持。