函数
自从1.7.0版本, VChart 提供注册表达式函数相关的方法。开发者可以通过注册全局或实例函数来满足业务需求,解决小程序端、飞书卡片等场景函数无法序列化问题。原则上,凡是支持用户自定义回调函数的地方,都可以应用注册函数。
本教程将通过两个示例介绍注册函数的使用,更多详细信息请查阅函数 API
全局注册函数
在使用全局注册函数时,调用图表方法registerFunction注册自定义函数,在运行时便会进行回调处理,如下方的示例。
labelFormat(key: string) {
return key + "test";
}
// the user defines a function named `renderCharts` to encapsulate chart rendering
renderCharts(json: string) {
// Global registration function
VChart.registerFunction("labelFormat",this.labelFormat);
const vchart = new VChart(json, { dom: CONTAINER_ID });
vchart.renderSync();
}
下面这个例子,自定义全局函数labelFormat,在设置label的formatMethod时使用:
实例注册函数
在使用实例注册函数时,调用实例方法registerFunction注册自定义函数,在运行时便会进行回调处理,如下方的示例。
labelFormat(key: string) {
return key + "test";
}
// the user defines a function named `renderCharts` to encapsulate chart rendering
renderCharts(json: string) {
const vchart = new VChart(json, { dom: CONTAINER_ID });
// Instance registration function
vchart.registerFunction("labelFormat",this.labelFormat);
vchart.renderSync();
}
下面这个例子,自定义实例函数labelFormat,在设置label的formatMethod时使用: