Когда я удаляю элемент из моих данных flatlist
, я использую setState
, чтобы назначить новый набор данных. Когда я использую setState
, мой плоский список прокручивается вверх, чего я не хочу. Я хочу, чтобы плоский список оставался на той же позиции. Я использую следующий код для плоского списка:
<KeyboardAwareFlatList
keyboardShouldPersistTaps='always'
onScrollBeginDrag={() => Keyboard.dismiss()}
style={{ backgroundColor: 'white' }}
showsVerticalScrollIndicator={true}
data={stockItems}
extraData={this.state}
removeClippedSubviews={true}
maxToRenderPerBatch={100}
updateCellsBatchingPeriod={100}
initialNumToRender={100}
windowSize={7}
ref={(ref) => { this.flatlist = ref; }}
keyExtractor={(item, index) => index.toString()}
legacyImplementation={true}
renderItem={({ item }) =>{
return(
<StocktakeBagItem
item={item}
searchFields={this.state.fields}
onPress={(nItem)=>{
this.setState({
showStockItemEdit:true,
stockItemEdit: nItem
})
}}
realm={this.state.realm}
isEditBag={editStockBag}
language={language}
/>
)
}}/>
Любое предложение о том, как мне достичь ожидаемого поведения? Спасибо