<View style={{ flex: 1 }}>
/* this is for the header of the table */
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 2 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
<View style={{ flex: 1 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
<View style={{ flex: 1 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
</View>
/* this is for the data row of the table */
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 2, flexDirection: 'row' }}>
<Image style={{ flex: 1 }}></Image>
<Text style={{ flex: 1 }}>Text</Text>
</View>
<View style={{ flex: 1 }}>
<Text>Value 1</Text>
</View>
<View style={{ flex: 1 }}>
<Text>Value 2</Text>
</View>
</View>
</View>
Вы можете использовать такую сетку, используя flex.Если вам нужно, вы можете легко зацикливаться при добавлении элементов строки в таблицу с помощью функции карты.
Если вам нужно использовать плоский список, вы можете использовать компонент заголовка (ListHeaderComponent) для визуализации строки заголовка и пользовательскую функцию renderItem для визуализации.один ряд.Используйте что-то вроде ниже вашего компонента.
renderHeader() {
return (
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 2 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
<View style={{ flex: 1 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
<View style={{ flex: 1 }}>
<Text style={{ textAlign: 'center'}>Header</Text>
</View>
</View>
)
}
renderItem({ item }) {
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 2, flexDirection: 'row' }}>
<Image style={{ flex: 1 }}>item.image</Image>
<Text style={{ flex: 1 }}>item.text</Text>
</View>
<View style={{ flex: 1 }}>
<Text>item.value_1</Text>
</View>
<View style={{ flex: 1 }}>
<Text>item.value_2</Text>
</View>
</View>
}
render() {
return (
<FlatList
data={[ { text: 'Text', value_1: 'Value 1', value_2: 'Value 2'} ]}
renderItem={this.renderItem}
ListHeaderComponent={this.renderHeader}
contentContainerStyle={{ flex: 1 }}
/>
);
}