React Native: элемент управления Обновить недоступен, если я очищаю источник данных Listview
Когда я устанавливаю источник данных для своего списка, управление обновлением (выпадающее для обновления) работает отлично. В случае, если источник данных пуст, я не могу раскрыть список.
Мой список выглядит так:
<View contentContainerStyle={{flex: 1}}>
<ListView
style={styles.container}
dataSource={this.state.dataSource}
renderRow={(data) => <NotificationRow {...data}/>}
enableEmptySections={true}
refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={this._onRefresh.bind(this)}
tintColor="#ff0000"
title="Loading..."
titleColor="#ffffff"
colors={['#ffffff']}
progressBackgroundColor="#1976D2"
/>
}
/>
</View>
Есть ли какие-либо реквизиты, которые мне нужно установить на Listview или любой другой способ включить раскрывающийся список для обновления списка, даже если источник данных пуст / пуст?
Я ищу эту функцию, потому что в первый раз я загружаю данные из Async Storage. При опускании для обновления я очищаю хранилище и извлекаю новые данные.
2 ответа
Понял это, когда я тестировал приложение на своем телефоне вместо эмулятора. Представление списка всегда присутствует, даже если источник данных пуст. В моем случае просмотр списка начинался там, где текстовое представление заканчивалось на красной линии.
Вам нужно использовать опору вызова refreshing={true}
и с завершением процесса, независимость, если есть новые данные или нет, вам нужно установить refreshing={false}
уведомить список, что у вас нет больше данных и скрыть индикатор загрузки.
render() {
return (
<ListView
refreshControl={
<RefreshControl
refreshing={this.state.refreshing}
onRefresh={this._onRefresh.bind(this)}
/>
}
...
>
...
</ListView>
);