Nativescript Listview 不可滚动

Posted

技术标签:

【中文标题】Nativescript Listview 不可滚动【英文标题】:Nativescript Listview not scrollable 【发布时间】:2019-10-18 02:27:03 【问题描述】:

我正在使用 Nativescript Vue 开发应用程序。我有一个 WrapLayout,里面有 ListView(还有其他组件)。

     <ListView for="event in selectedDayNotes" class="home__notes-list">
        <v-template>
          <WrapLayout class="home__notes-list-item">
            <Label class="home__notes-list-item-note" :text="event.title" />
            <Label class="home__notes-list-item-time" :text="event.startDate.getHours() + ':' + event.startDate.getMinutes() + ' - '" />
            <Label class="home__notes-list-item-time" :text="event.endDate.getHours() + ':' + event.endDate.getMinutes()" />
          </WrapLayout>
        </v-template>
      </ListView>  

selectedDayNotes 是一个返回数组的计算属性。

SCSS:

  &__notes-list-item 
    background: white;
  

  &__notes-list-item-note 
    font-size: 15px;
    width: 100%;
  

  &__notes-list-item-time 
    font-size: 18px;
    font-weight: 600;
   

然后我将项目添加到应用程序中的 ListView(selectedDayNotes 更新并且 ListView 显示新元素),但 ListView 不可滚动。我应该怎么做才能让它滚动?

【问题讨论】:

【参考方案1】:

好吧,我设法将这个工作包装 ListView 放入 ScrollView。有点奇怪 - 文档对此只字未提。

代码如下:

      <ScrollView class="home__notes-list-wrapper">
        <ListView for="event in selectedDayNotes" class="home__notes-list">
          <v-template>
          //whatever you want inside some sort of layout
            <WrapLayout class="home__notes-list-item">
              <Label class="home__notes-list-item-note" :text="event.title" />
              <Label class="home__notes-list-item-time" :text="event.startDate.getHours() + ':' + event.startDate.getMinutes() + ' - '" />
              <Label class="home__notes-list-item-time" :text="event.endDate.getHours() + ':' + event.endDate.getMinutes()" />
            </WrapLayout>
          </v-template>
        </ListView> 
      </ScrollView> 

我还在 CSS 中设置了所需的 ScrollView 高度。

【讨论】:

不建议在ScrollView中使用ListView。因为 ListView 本身是 ScrollView 的扩展版本,因此 ListView 本身应该是可滚动的。如果您仍然有滚动问题,请分享一个 Playground 示例,以便重现该问题。

以上是关于Nativescript Listview 不可滚动的主要内容,如果未能解决你的问题,请参考以下文章

使用 ListView 和 nativescript-vue 进行无限滚动

NativeScript 中的 ListView.itemTemplate 和图像

Nativescript 无法让 ListView 滚动到底部

水平 StackLayout 中的 ListView - Nativescript Vue

在点击 Nativescript Angular iOS 时删除 ListView 项目突出显示

无法点击自定义 FAB(浮动操作按钮)的 NativeScript 项