Как я могу использовать набор инструментов пользовательского интерфейса onRefresh и onLoadMore?

Я пытаюсь установить UI в свой проект. В одном компоненте я использовал listview из пользовательского интерфейса Shoutem! Но я могу только отображать элемент. Я не могу справиться с onRefresh и onLoadMore?

Может кто-нибудь помочь мне?

Here is listview:

<ListView
          data={groupedData}
          renderRow={this.renderRow}
          loading={this.state.refreshing}
          onLoadMore ={this.loadMoreData}
          onRefresh={this.getNewData}
        />

У меня есть 2 функции для getnew, data и loadmore. Они могут работать с обычным списком.


person Chu Việt Hưng    schedule 11.04.2017    source источник
comment
ой, я забыл .bind (это) моя функция, тогда она не работает! Теперь он все еще работает!   -  person Chu Việt Hưng    schedule 11.04.2017
comment
Ну что, теперь все работает?   -  person Tommz    schedule 11.04.2017
comment
@Tommz нет, сэр! Спиннер при обновлении все еще работает и показывает! Но loadmore я никогда не видел, чтобы спиннер показывался как расширение в new.shoutem.com   -  person Chu Việt Hưng    schedule 11.04.2017
comment
Я думаю, вам следует проверить, как должна обрабатываться загрузка здесь: github.com/shoutem/extensions/blob/master/shoutem-books/app/   -  person Tommz    schedule 11.04.2017


Ответы (1)


Я не уверен, в чем именно проблема. Было бы полезно, если бы вы могли включить код всего экрана.

Обратный вызов onRefresh будет вызываться, когда пользователь выполняет действие «вытягивание вниз для обновления» в представлении списка. onLoadMore будет вызываться, когда пользователь прокрутит список до конца. Обе эти функции следует использовать для извлечения данных, но в списке будут отображаться только те данные, которые он получает через реквизит data.

Если проблема заключается в том, что счетчик остается видимым после извлечения данных, вы можете управлять видимостью счетчика с помощью свойства loading файла ListView. Спиннер останется видимым до тех пор, пока вы не сбросите реквизит loading.

Таким образом, поток должен быть следующим:

  1. Инициировать сетевой запрос в onRefresh/onLoadMore
  2. When the data is fetched from the server
    • render the list by passing it the new data through the data prop
    • сбросить реквизит loading на false после завершения или сбоя сетевого запроса
person Željko Rumenjak    schedule 11.04.2017