RadListView не отображает элементы - PullRequest
0 голосов
/ 13 декабря 2018

У меня много трудностей с реализацией RadListView в моем приложении.Согласно документации, ListView принимает элементы в качестве ObservableArray, но независимо от того, используется ли этот или простой массив, элементы не отображаются.Я подготовил пример приложения на игровой площадке

https://play.nativescript.org/?template=play-ng&id=39xE2X&v=11

Компонент выглядит так:

import { Component, ViewChild, OnInit, ChangeDetectorRef, ElementRef } from "@angular/core";
import { GestureTypes, PanGestureEventData, TouchGestureEventData } from "tns-core-modules/ui/gestures";
import { ObservableArray } from "tns-core-modules/data/observable-array";

@Component({
    selector: "ns-app",
    moduleId: module.id,
    templateUrl: "./app.component.html",
})
export class AppComponent implements OnInit {

    public gridData = []; //new ObservableArray<any>();

    constructor(
        private cd: ChangeDetectorRef
    ) {
        this.feedTestData();
    }

    ngOnInit() {
    }

    ngAfterViewInit() {

    }

    public detectChanges() {
        this.cd.detectChanges();
    }

    private feedTestData() {


        let data = [
             {
                 description: 'line 1',
             },
             {
                 description: 'line 2',
             },
        ];

        this.gridData.splice(0, 0, data);
    }

}

и шаблон выглядит так:

<GridLayout tkExampleTitle tkToggleNavButton>
    <RadListView [items]="gridData">
        <ng-template tkListItemTemplate let-item="item">
            <StackLayout orientation="vertical">
                <Label [text]="description"></Label>
            </StackLayout>
        </ng-template>
    </RadListView>
</GridLayout>

Еще больше меня смущает то, что в моем реальном приложении RadListView что-то отображает, но делает это самостоятельно, полностью игнорируя мой шаблон.Я буквально ничего не могу оставить внутри RadListView, но он все равно будет отображать элементы enter image description here

1 Ответ

0 голосов
/ 14 декабря 2018

Я обновил вашу игровую площадку, и она работает сейчас.https://play.nativescript.org/?template=play-ng&id=39xE2X&v=12

Вы пытались получить доступ к описанию в ng-шаблоне, пока оно должно быть item.description

<Label [text]="item.description"></Label>

Также для целей тестирования яСоздание массива Onservable из ваших данных.this.gridData = new ObservableArray(data); в вашей функции feedTestData.

...