Как использовать Chart UI в Nativescript

Я довольно новичок в Nativescript и в настоящее время работаю над небольшим тестовым проектом с использованием Angular и Typescript. В настоящее время я работаю с опцией диаграмм и установил Nativescript-ui-chart с помощью команды 'tns plugin add nativescript-ui-chart'. Я могу запустить приложение, но на экране ничего не отображается.

Мой HTML-файл:

<ActionBar>
    <NavigationButton title="Main Chart"></NavigationButton>
</ActionBar>

<StackLayout horizontalAlignment="center">

    <RadCartesianChart xmlns:chart="nativescript-ui-chart">
        <CategoricalAxis tkCartesianHorizontalAxis></CategoricalAxis>
        <LinearAxis tkCartesianVerticalAxis></LinearAxis>

        <LineSeries tkCartesianSeries
            [item]="downloads"
            categoryProperty="month"
            valueProperty="downloads"></LineSeries>
    </RadCartesianChart>

</StackLayout>

Мой файл машинописи:

import { Component, OnInit } from '@angular/core'

@Component({
  selector: 'ns-main-chart',
  templateUrl: './main-chart.component.html',
  styleUrls: ['./main-chart.component.css'],
  moduleId: module.id
})
export class MainChartComponent{

    downloads = [
        { month: "Jan1", downloads: 58863 },
        { month: "Jan2", downloads: 10000 },
        { month: "Jan3", downloads: 68863 },
        { month: "Jan4", downloads: 8863 },
        { month: "Jan5", downloads: 88863 },
        { month: "Jan6", downloads: 98863 },
        { month: "Jan7", downloads: 108863 },
        { month: "Jan8", downloads: 28863 }
    ];
}

Я добавил импорт {NativeScriptUIChartModule} из "nativescript-ui-chart / angular"; в мой файл app.module

Мой файл app.module:

import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";

import { AppComponent } from "./app.component";
import { AddTaskComponent } from './components/add-task/add-task.component'

import { CreateTaskComponent } from './components/create-task/create-task.component'
import { appComponents, appRoutes } from "./app.routing";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { MainChartComponent } from './components/main-chart/main-chart.component'

import { NativeScriptUIChartModule } from "nativescript-ui-chart/angular";

@NgModule({
    bootstrap: [
        AppComponent
    ],
    imports: [
        NativeScriptModule
        NativeScriptUIChartModule,
        NativeScriptRouterModule,
        NativeScriptRouterModule.forRoot(appRoutes)
    ],
    declarations: [
        AppComponent,
        AddTaskComponent,
        CreateTaskComponent,
        MainChartComponent,
        ...appComponents   //imports all pages
    ],
    providers: [],
    schemas: [
        NO_ERRORS_SCHEMA
    ]
})
export class AppModule { }

Всего 1 ответ


Кажется, есть проблема с вашим макетом. Попробуйте изменить StackLayout на GridLayout или указать одинаковые значения высоты и ширины. Я создал образец игровой площадки для вас здесь .

<GridLayout>
    <RadCartesianChart>
        <CategoricalAxis tkCartesianHorizontalAxis></CategoricalAxis>
        <LinearAxis tkCartesianVerticalAxis></LinearAxis>
        <BarSeries tkCartesianSeries [items]="downloads" categoryProperty="month"
            valueProperty="downloads"></BarSeries>
    </RadCartesianChart>
</GridLayout>

Есть идеи?

10000