这里试图在Picker中获取值,我正在获取JSON格式的值,并试图在Picker中显示该值,例如DropDown。请帮忙。下面的代码试图像打和审判,但不能正常工作。以下是我的代码和JSON值。我需要安装和依赖吗?
import React, { Component } from 'react';
import { AppRegistry, StyleSheet, View, Platform, Picker, ActivityIndicator, Button, Alert} from 'react-native';
export default class AddInventory extends Component {
componentDidMount() {
return fetch('http://1/Dsenze/userapi/inventory/viewinventorytype', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"username" :"admin",
"password" :"admin"
})
}).then((response) => response.json())
.then((responseJson) => {
var count = Object.keys(responseJson.message.Obj).length;
let PickerValueHolder = [];
for(var i=0;i<count;i++){
console.log(responseJson.message.Obj[i].name) // I need to add
PickerValueHolder.push({ value: responseJson.message.Obj[i].name }); // Create your array of data
}
this.setState({ PickerValueHolder }); // Set the new state
})
.catch((error) => {
console.error(error);
});
}
GetPickerSelectedItemValue=()=>{
Alert.alert(this.state.PickerValueHolder);
}
render() {
return (
<View style={styles.MainContainer}>
<Picker
selectedValue={this.state.PickerValueHolder}
onValueChange={(itemValue, itemIndex) => this.setState({PickerValueHolder: itemValue})} >
{ this.state.dataSource.map((item, key)=>(
<Picker.Item label={item.name} value={item.name} key={key} />)
)}
</Picker>
<Button title="Click Here To Get Picker Selected Item Value" onPress={ this.GetPickerSelectedItemValue } />
</View>
);
}
}
const styles = StyleSheet.create({
MainContainer :{
justifyContent: 'center',
flex:1,
margin: 10
}
});
//下面是JSON响应
{
"inventoryTypeData": [{
"id": 1,
"name": "scanning equipment"
}, {
"id": 2,
"name": "ecg machine"
}, {
"id": 3,
"name": "ct-scan machine"
}, {
"id": 7,
"name": "x-ray machine"
}],
"success": "true"
}
谢谢
您的代码中有几个问题
componentDidMount
responseJson
,没有称为消息的键for-loop
时,你可以只使用来自数组responseJson
。PickerValueHolder
每次移动选择器时包含所有值的。我对您的代码进行了一些更改,这是一个有效的示例,您可以在这里查看此小吃https://snack.expo.io/@andypandy/picker-
example
import * as React from 'react';
import { Text, View, StyleSheet, Alert, Picker } from 'react-native';
import { Constants } from 'expo';
export default class App extends React.Component {
// add a selectValue to your state to stop the overwriting
state = {
PickerValueHolder: [],
selectedValue: ''
}
componentDidMount() {
// remove the return
fetch('http://1/Dsenze/userapi/inventory/viewinventorytype', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"username" :"admin",
"password" :"admin"
})
}).then((response) => response.json())
.then((responseJson) => {
// use the inventoryTypeData as it is already an array
let PickerValueHolder = responseJson.inventoryTypeData;
this.setState({ PickerValueHolder }); // Set the new state
})
.catch((error) => {
console.error(error);
});
}
GetPickerSelectedItemValue=()=>{
Alert.alert(this.state.PickerValueHolder);
}
render() {
return (
<View style={styles.container}>
{<Picker
selectedValue={this.state.selectedValue}
onValueChange={(itemValue, itemIndex) => this.setState({selectedValue: itemValue})} >
{ this.state.PickerValueHolder.map((item, key)=>
<Picker.Item label={item.name} value={item.name} key={key} />
)}
</Picker>}
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingTop: Constants.statusBarHeight,
backgroundColor: '#ecf0f1',
padding: 8,
}
});
问题内容: 我想用动态表创建Jasper报告。 例如: 用户1-5张桌子 用户2-3张桌子 用户3-6桌 我尝试使用列表选项,但是我的表不可见,并且页面数正在增加。 杰森数据。 是我的报表数据集,是列表数据,也是我要在表中显示的数据。 注意 如果我删除 并把 然后,使用空值创建两个表。 问题答案: 对主报表的查询将其保留为空白(并保留mainDataSet节点) 将字段定义为 该传递给 因此指向
我想在Spring MVC中填充一个下拉框,我试图这样做,但是我得到了空指针异常 这是我的控制器: 这是我的服务方法: 这是我的 DAO 方法: 最后这是我的JSP页面: 这是堆栈跟踪: sun.reflect.NativeMethodAccessorImpl上com.easylib.elibrary.webapp.controller.catalog.CatalogueController.ne
问题内容: 我正在尝试使用Flask构建一个简单的API,现在我想在其中读取一些POSTed JSON。我使用Postman Chrome扩展程序进行POST,而我发布的JSON就是。我尝试使用以下方法读取JSON: 在浏览器上,它可以正确返回我放入GET中的UUID,但是在控制台上,它只是打印出来(我希望它可以在其中打印出来。有人知道我如何从Flask方法中获取发布的JSON吗? 问题答案: 首
已经有一个类似的线程,看起来很像,但这里我有一些不同的问题。 我想要完整的URL,其中URL是动态的。我所有的页面都使用一个通用的nunjuk模板。 让我们面对现实吧。假设我有一个URL路径: /blog/one/two/three 值得注意的是,“博客”是静态的,但“一”、“二”和“三”是变量,它们将根据我网站上请求的博客文章而改变。 我使用以下代码通过传递来获取URL:post“但是当我在UR
我是新的反应本机,我试图简单地迭代通过一个示例json文件,但我收到的错误未定义不是一个函数(评估'this.state.results.map') 我最初将状态设置为对象,因此不确定为什么会收到此错误。 这里是JS: 因此,我将renderJSON()编辑为,并删除了responseData的大括号,正如您所说,因为它已经是一个对象: 我添加了一个控制台日志,以查看是否可以输出一些数据,并且可以
我想使用KARATE框架的数据驱动特性动态地为JSON中的一些元素(从文件中读取)设置值。以下是更多的细节: 特性:从文件中读取json输入并迭代数据表值 背景: 附注:我尝试使用表方法调用其他特性文件。然而,我希望每个API保留一个特性文件,因此我想知道是否有任何可能的方式来实现上述方法