(Nativescript 5.3,Angular)
我使用nativescript-ui-samples应用程序评估和测试了我们应用程序的图表功能。 (开始于:chart-behaviors-pan-zoom.component)
需要移动/平移图表,然后根据上一时间段的其他(更多)移动值重新加载。
我的问题是在图表内获取任何平移事件。例如,在图表外部的标签上,平移事件起作用。
我尝试了各种可能性来举办活动,但没有一个在起作用:
试图将RadChartesianChart放置在网格布局中以获取事件
在网格布局上使用isUserInteractionEnabled="false"
和isPassThroughParentEnabled="true"
进行了尝试
我试图在RadChartesianChart上的html中调用以下方法:method(chartPanned)=“ chartPanned()”
我尝试在RadChartesianChart上的html中调用以下方法:method(chartPanned)=“ chartPanned()”
使用CategoricalAxis与数字2和3进行了相同的尝试
试图在组件ts文件中注册事件
TypeScript代码,如编号5所述
ngOnInit() {
this._categoricalSource = new ObservableArray(this._dataService.getCategoricalSource());
const chart = this.theChart.nativeElement as RadCartesianChart;
console.log('mychart');
console.log(chart);
// NOT working !!!
chart.on(GestureTypes.pan, function () {
console.log("chart Pan deltaX");
});
chart.on('chartPanned', function () {
console.log("chartPanned Pan");
});
chart.on('chartPanFinishedEvent', function (args: PanGestureEventData) {
console.log("chartPanned Pan deltaX:" + args.deltaX + "; deltaY:" + args.deltaY + ";");
});
}
HTML:
<RadCartesianChart row="1" #theChart tkExampleTitle tkToggleNavButton isUserInteractionEnabled="false" isPassThroughParentEnabled ="true">
<BarSeries tkCartesianSeries [items]="categoricalSource" categoryProperty="Country" valueProperty="SecondVal">
<LinearAxis tkBarVerticalAxis horizontalLocation="Right" allowZoom="true" allowPan="false"></LinearAxis>
</BarSeries>
<LineSeries tkCartesianSeries [items]="categoricalSource" categoryProperty="Country" valueProperty="Amount">
<LinearAxis tkLineVerticalAxis horizontalLocation="Left" allowPan="false" allowZoom="true"></LinearAxis>
</LineSeries>
<CategoricalAxis tkCartesianHorizontalAxis allowPan="true" allowZoom="false"></CategoricalAxis>
</RadCartesianChart>
如果我在图表ui中平移,我希望获得引发平移事件。