Ich verwende FlatList
, wobei jede Zeile eine unterschiedliche Höhe haben kann (und möglicherweise eine Mischung aus Text und null oder mehr Bildern von einem entfernten Server enthält).
Ich kann getItemLayout
nicht verwenden, weil ich die Höhe jeder Zeile (und der vorherigen) nicht kennen kann, um sie berechnen zu können.
Das Problem, mit dem ich konfrontiert bin, ist, dass ich nicht bis zum Ende der Liste blättern kann (es springt ein paar Zeilen zurück, wenn ich es versuche) und ich habe Probleme, scrollToIndex
zu verwenden (ich vermute aufgrund die Tatsache, dass ich getItemLayout
) vermisse.
Ich habe ein Beispielprojekt geschrieben, um das Problem zu demonstrieren:
%Vor% Was Sie also tun können und wofür Sie bereits verfügen, ist das Speichern einer Sammlung nach dem Index der Zeilenlayouts onLayout
. Du solltest die Attribute speichern, die zurückgegeben von getItemLayout
: {length: number, offset: number, index: number}
.
Wenn Sie getItemLayout
implementieren, übergibt einen Index Sie können das von Ihnen gespeicherte Layout zurückgeben. Dies sollte die Probleme mit scrollToIndex
beheben. Habe das nicht getestet, aber das scheint der richtige Ansatz zu sein.
Tags und Links react-native react-native-flatlist