передать ObservableArray в параметры диалогового окна Model, показывающие, что данные RadListView имеют [Object Object] - PullRequest
0 голосов
/ 10 декабря 2018

Я передал массив Observable модальным диалоговым параметрам.При открытии модального диалога, я получил значение из radlistview имеет [объект объекта].

Но если я использую listview, он работает нормально.Только с radlistview я должен это исправить.

HomeComponent.ts:

 public obsArr: ObservableArray<App>;
    ngOnInit(){
        this.obsArr= this.homeService.getMyApps();
      }

       const options = {
            context: this.obsArr,
            fullscreen: true,
            viewContainerRef: this.vcRef
          };
          this.modal.showModal(FirstComponent, options).then((resource) => {
          });

FirstComponent.ts: (модальное диалоговое окно)

  public firstAppArr: ObservableArray<App>;

    constructor(private params: ModalDialogParams, private routerExtensions: RouterExtensions) {
    }

    ngOnInit() {

        this.firstAppArr= this.params.context;
    }

first_component.html: (модальный диалог html)

<RadListView [items]="firstAppArr" itemReorder="true">
    <ng-template let-item="item" let-i="index">
        <GridLayout rows="auto" columns="*,*">
            <StackLayout col="0" horizontalAlignment="left" verticalAlignment="center">
                <Label [text]="item.name" textWrap="true"></Label>
            </StackLayout>

            <StackLayout col="1" horizontalAlignment="right" verticalAlignment="center">
                <Label [text]="item.description" textWrap="true"></Label>

            </StackLayout>     
        </GridLayout>
    </ng-template>      
</RadListView>

1 Ответ

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

Прямо сейчас вы устанавливаете firstAppArr для объекта {"_observers":{}, "_array":[]}, который не является массивом, который вы ищете.Я бы предложил изменить ngOnInit() на

ngOnInit() {
    // if you are guaranteed context and array
    this.firstAppArr = this.params.context._array;

    // if you aren't guaranteed context or array. this will either be _array or undefined
    this.firstAppArr = this.params && this.params.context. && this.params.context._array;
}

для доступа к части массива вашего объекта.

...