ListView不会呈现结果,但是for循环会呈现

时间:2019-02-05 09:16:54

标签: android angular listview nativescript

我有一个对象的可观察对象数组,可在列表视图中使用该对象异步呈现。问题是我的ListView无法正常工作。得到结果后,即使我看到从HTTP请求中得到对象的响应,该列表也只会在最初填充空白行。

现在,如果我单击该按钮以切换android模拟器上的应用程序,然后立即返回到该应用程序,列表将被填充。

或者,如果我转到应用程序中的另一个页面/活动并返回,则该列表会正常工作。因此渲染存在问题。问题是什么?

如果我不使用列表视图,而是在项目上使用带有* ngFor的ng-container,与我对列表视图的处理方式相同,则效果很好。结果立即打印出来。

下面是我组件中的代码。 这不能正常工作:

   <GridLayout>
                            <ListView id="searchList" [items]="responseItems$ | async" class="list-group">
                                <ng-template let-item="item" let-i="index" let-odd="odd" let-even="even">
  <GridLayout class="list-group-item" [class.odd]="odd" [class.even]="even">
<Label textWrap="true"  [text]='item?.English'></Label>

                                    </GridLayout>
                                </ng-template>
                            </ListView>
      </GridLayout> 

这按预期工作:

  <ng-container *ngFor = "let v of (responseItems$ | async); let i = index;">
                <Label [text]="i"></Label>    
                <Label style="background:#eaeaea;" (tap)="wordClickSimple(i)" textWrap="true" [text]='v?.English'></Label>
            </ng-container>

0 个答案:

没有答案