从Json中获取元素以在Picker中输入

巴斯蒂安

我是本机反应的新手。我正在尝试感染Web服务,并从响应中输入一些元素给Picker(我使用基于本机的数据库)。我的问题是我不知道如何LIBELLE在Json中获取所需的元素(在这里是)。

看代码:

getSurfaces(){
    fetch('yourWebservice')
        .then((response) => response.text())
        .then((responseText) => {
            parseString(responseText, function (err, result) {
                responseText = result;
            });
            console.log(JSON.stringify(responseText));
            this.setState({
                surfaces: responseText.Surfaces.surface
            }).catch(err => console.log(err));
            console.log(this.state.surfaces);
            }
        })
        .catch((err) => {
            console.log('Error fetching the feed: ', err)
        })
}

componentDidMount(){
    this.getSurfaces();
}

我的构造函数:

constructor (){
    super();
    this.state = {
        date: '',
        surface: '',
        surfaces: [],
        start: '',
        hours : [],
    };
    this.valueChangeSurface = this.valueChangeSurface.bind(this);
}
valueChangeSurface(value: String){
    this.setState({
        surface: value
    });
}

我的renderSurfaces方法:

renderSurface(){
    if(this.state.surfaces){
        return this.state.surfaces.map((surface) => {
           return <Picker.Item label={surface.LIBELLE} value={surface}/>
        })
    }
}

Picker的呈现:

<ListItem>
    <Left>
        <Text>Surface</Text>
    </Left>
    <Body>
        <Picker
            note
            inlineLabel={true}
            mode={"dropdown"}
            style={{width: 175}}
            selectedValue={this.state.surface}
            onValueChange={this.valueChangeSurface}>
            {
                this.renderSurface()
            }
        </Picker>
    </Body>
    <Right/>
</ListItem>

this.setStatein中返回的错误getSurfaces()

提取Feed时出错:[TypeError:未定义不是对象(评估'_this2.setState({表面:responseText.Surfaces.surface})。catch')

我真的不知道我是否采取了好的方法,非常感谢您的帮助

巴斯蒂安

我终于找到了解决方案:

这个问题很简单,大部分来自语法erreur,我将其替换为:

responseText.Surfaces.surface.LIBELLE

这样 :

responseText.Surfaces.surface[i].LIBELLE

查看getSurfaces()的完整代码:

getSurfaces(){ // Input the surfaces values (ID and LIBELLE) who come from WebService in the this.state.surfaces
    fetch('url')
        .then((response) => response.text())
        .then((responseText) => {
            parseString(responseText, function (err, result) {
                responseText = result;
            });
            let sf = []; // Create a table who gonna content the value of this.state.surfaces
            for(i = 0; i<responseText.Surfaces.surface.length; i++){
                sf.push(responseText.Surfaces.surface[i].LIBELLE.toString());
            }
            this.setState({
                surfaces: sf //inject the table sf who contain the table surfaces
            });
        })
        .catch((err) => {
            console.log('Error fetching the feed: ', err)
        })

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

在列表中追加元素以转换为JSON

来自分类Dev

使用jQuery禁用除表单中的某些元素以外的所有输入元素

来自分类Dev

获取文档中除id为'main-nav'的元素以外的所有元素。

来自分类Dev

如何从XML标签中获取元素以存储到PHP数组中?

来自分类Dev

如何获得输入单选元素以在react [material-ui]中水平对齐?

来自分类Java

无法从硒中的输入元素获取文本

来自分类Dev

在Python中,如何获取扩展类元素以自动完成方式显示?

来自分类Dev

如何在Matlab中获取矩阵的除第一个元素以外的所有元素?

来自分类Javascript

在javascript数组中,如何获取除第一个元素以外的最后5个元素?

来自分类Dev

Elixir-如何获取除列表中的最后一个元素以外的所有元素?

来自分类Dev

获取元素以对齐

来自分类PHP

如何用多个值拆分数组元素以在PHP中仅获取其中一个

来自分类Dev

对data.frame进行lapply和sapply测试每列中的所有元素以获取单个逻辑

来自分类Dev

使用javascript中的数组从JSON获取元素

来自分类Dev

如何从PostgreSQL中的Json数组获取元素

来自分类Dev

在Swift 3中获取JSON元素

来自分类Dev

从php中的json数据获取元素

来自分类Dev

获取JSON中的所有元素

来自分类Dev

在Bash数组中添加元素以供以后打印

来自分类Dev

选择数组中的某些元素以创建新数组

来自分类Dev

如何传递列表元素以在R中建模?

来自分类Dev

通过Scala.js中的ID获取输入的元素

来自分类Dev

如何从输入类型文件元素中获取实际文件?

来自分类Dev

尝试获取用户输入以在P元素中打印

来自分类Dev

jq可以检查逗号分隔的值数组的每个元素以检查值是否存在于JSON中吗?

来自分类Java

从标准输入中获取输入

来自分类Javascript

动态添加输入元素以形成表单

来自分类Dev

使用jq在json中匹配的元素之后/之前获取元素

来自分类Dev

在C中的结构中遍历元素以提取单个元素的值和数据类型

TOP 榜单

热门标签

归档