【发布时间】:2018-05-04 21:35:04
【问题描述】:
我有一个简单的 SQLite 应用程序,我正在尝试将查询结果作为参数传递给下一个视图,但它始终为空。
我用 Button 和 ListView 得到了一个这样的滚动视图
<TextInput placeholder="Marka" onChangeText={(text) => this.setState({brandSearch: text})}/>
<TextInput placeholder="Model" onChangeText={(text) => this.setState({modelSearch: text})}/>
<Button title="Wyszukaj"
color="#841584"
onPress={() =>
navigate('SearchResultView', {data: this.searchCars})
}
/* onPress={this.searchCars}*/
/>
<ListView
enableEmptySections
dataSource={this.state.data}
renderSeparator={this.ListViewItemSeparator}
renderRow={(rowData) =>
<View>
<Text style={{
textAlign: 'center',
fontWeight: "bold"
}}>{rowData.brand} {rowData.model} {rowData.power}km {rowData.color}</Text>
<Image
style={{width: null, height: 200}}
source={{uri: rowData.photos}}
/>
</View>
}
/>
</ScrollView>
以及要执行的函数
searchCars() {
var p = new Promise(function (resolve, reject) {
db.transaction((tx) => {
tx.executeSql("SELECT * FROM Car;", [], (tx, results) => {
var temp = [];
var len = results.rows.length;
for (let i = 0; i < len; i++) {
temp.push(results.rows.item(i));
}
resolve(temp);
});
});
});
p.then((result) => {
return result;
});
};
【问题讨论】:
-
您的问题似乎不是特定于反应的问题,而是您如何处理数据的问题。您应该提供导航功能的实现并将您的示例清理为具有预期行为的minimal reproducible example。