react-native - 如何添加在通过数据库获取数据的 FlatList 之前
问题描述
我从包含客户详细信息的数据库中获取数据,然后是客户属性列表和每个属性的信息。我可以让 FlatList 显示属性列表,但我想首先显示的是客户端详细信息等,然后是 FlatList 显示属性详细信息。如何从数组中提取客户详细信息并先显示它,然后再显示属性的详细信息。
例如数组是这样的
[{'id': "90", 'clientname': "客户名称", 'balance': "10000",{'propid': "80", propname: '物业名称', 'rented': "租用" , 'rent': '10000'},{'propid': "70", propname: '物业名称 2', 'rented': "未出租", 'rent': '4000'}}]
<Text>{clientname}</Text><Text>Your Balance {balance}</Text>
<FlatList>......<FlatList>
正如我所提到的,我可以正确显示 Property FlatList。我无法得到的是显示客户特定的详细信息。
更新:
感谢那些试图提供帮助但对我不起作用的人。我把代码放在这里可能有人可以检查看看可以做什么。我删除了样式表和其他不相关的数据。
["client_name": "Client Name", "balance:" 40599.00", "contract_expiring": "4,
{"id":"94","area":"Central","building":"Building 108","unit":"104B", "rent_amount": "40000",
{"id":"22","area":"North East","building":"Building 555","unit":"1304", "rent_amount": "15000"}]
export default class ClientDetails extends Component {
constructor() {
super()
this.state = {
isLoading: true
}
}
renderItem = ({ item }) => {
return (
<View>
<Text>
{item.building}
</Text>
<Text style={{ fontSize: 16, color: '#2a5566', marginBottom: 10 }}>
{item.unit}
</Text>
<Text style={{ fontSize: 18, color: 'green' }}>
Rent Amount: {item.rent_amount}
</Text>
</View>
)
}
componentDidMount = () => {
return fetch("http://192.168.0.106/db_1/list.php?itemId=194")
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson,
})
})
}
render() {
return (
<View style={styles.MainContainer}>
<FlatList
data={ this.state.dataSource }
ItemSeparatorComponent = {this.renderSeparator}
renderItem={this.renderItem}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
}
这部分(["client_name": "Client Name", "balance:" 40599.00", "contract_expiring": "4, ) 数组我不想成为 FlatList 的一部分,但单独显示在 FlatList 上方。
谢谢。
解决方案
const data = [
{'id': "90", 'clientname': "Client Name", 'balance': "10000"},
{'propid': "80", propname: 'Property Name', 'rented': "Rented", 'rent': '10000'}
]
class App extends Component {
render() {
return (
<View>
<Text style={{fontSize:20}}>Client Name - {data[0].clientname}</Text>
<FlatList
data={data}
renderItem={({ item }) => {
return (
<View>
<Text>{item.clientname}</Text>
<Text>{item.propname}</Text>
</View>
);
}}
/>
</View>
);
}
}
推荐阅读
- css - JavaFX:CheckMenuItem 未显示清晰的正方形
- tkinter - 如何修复“在封闭范围内分配之前引用的自由变量'db_username'”
- python - 如何停止致命的 Python 错误:PyEval_SaveThread: NULL tstate
- css - 如何修复 .css 文件的编译问题
- github - 使用 GitHub 的 API 创建拉取请求
- php - Twitter登录oauth api不断重定向我以授权应用程序
- python - 在 Pandas / Python 中合并数据框中的列值
- c - 位运算符如何在 avr atmega 寄存器中工作?
- java - Apache Ignite 2.7.0 在 GridFutureAdapter.get0() 中花费了大量时间
- html - 如何更改 div 类“col-sm-9”的宽度和高度大小?