Когда я устанавливаю источник данных в свой список, управление обновлением (сбрасывание до обновления) отлично работает. Если источник данных пуст, я не могу сбрасывать его, чтобы обновить список.React Native: Refresh Control недоступен, если я очищаю источник данных Listview
Моя 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 или любым другим способом, чтобы позволить тянуть вниз, чтобы обновить ListView, даже если источник данных пуст/нуль?
Я ищу эту функцию, потому что в первый раз я загружаю данные из Async Storage. При отключении для обновления я очищаю хранилище и извлекаю новые данные.
Как вы очищаете источник данных? Просто установите его на «null»? – martinarroyo
Я очищаю его так: this.setState ({ dataSource: this.state.dataSource.cloneWithRows ([]), }); – Sood
Попробуйте вывести свой источник данных из класса. Подобно const ds = new ListView.DataSource ({rowHasChanged: (r1, r2) => r1! = R2}); Это может помочь. – eden