У меня есть динамический c плоский список со значениями, которые должны быть представлены в горизонтальном списке с 3 столбцами. Но я не могу заставить его отображаться так, как я хотел.
Я пытаюсь выполнить следующий код,
let data = ["item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"];
const { width } = Dimensions.get('window');
const itemWidth = (width - 12) / 3;
<FlatList
columnWrapperStyle={{ justifyContent: 'space-around', alignItems: 'flex-start' }}
numColumns={3}
data={data}
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator
keyExtractor={(item, index) => `${index}${item}`}
renderItem={(item) => {
return (
<View style={{ flex: 1, backgroundColor: '#ddd', minWidth: itemWidth, maxWidth: itemWidth }}>
<Text >
Hello World
</Text>
</View>
);
}}
/>
Но вывод не такой, как я хотел.
Допустим, если список имеет длину, кратную 3, например 6,9,12, он работает так, как я хотел.
Но, если список имеет длину 8, первые две строки отображаются нормально. Но третий ряд дает полное пространство для оставшихся двух предметов. Что я не хочу.
В настоящее время я готов к выводу, как следует
Но вывод должен быть, как,
Кто-нибудь может предложить обходной путь?
Спасибо.