React JS-如何将json数据绑定到下拉列表

用户名

我有一个React JS文件,我正在尝试将数据绑定到下拉列表。数据存储在以下测试API / json文件中:https : //api.myjson.com/bins/okuxu ...我想首先将客户端名称绑定到其相应的下拉列表中。

样本json数据:

[
    {
        "abc_buildingid": "11111112-64c2-5bd8-8b72-e92568694c76",
        "abc_energyprogramid": "5d84ef73-9b9a-475f-84e2-f307ad897df7",
        "siteName": "Construction One",
        "sampleCalibration": false,
        "clientName": "Client-1",
        "segmentName": "John Doe ES New Silver 4-7-2017-04-30-2018~25313~John Doe ES JDU Area Calibration~47851~Mod",
        "cfmRateFactor": 50
    }
]

...这是我的代码:

import React, { Component } from 'react';

class Ast extends Component {

   constructor(){
       super();
       this.state = {
           data: [],
       };
   } //end constructor

   bindDropDowns() {
       var clientName = document.getElementById('clientName').value

       for(var i=0; i < this.state.data.length; i++) {
        var clientName = this.state.data[i].clientName;
       }
   }

   componentWillMount() {
    fetch('https://api.myjson.com/bins/okuxu', {
        method: 'GET',
        headers: {
            'Accept': 'application/json',
            'Content-type': 'application/json',
        },
        /*body: JSON.stringify({
            username: '{userName}',
            password: '{password}'
        })*/
    }) /*end fetch */
    .then(results => results.json()) 
    .then(data => this.setState({ data: data })   
)

} //end life cycle

    render() {
        console.log(this.state.data);
        return (
            <div>


                <form>
                    <div>

                        <h2>Memeber Selection:</h2>

                        <div>

                            <div>
                                <select className="custom-select" id="clientName" onSelect="bindDropDowns()">
                                <option selected>Client</option>
                                </select>     
                            </div><br />

                            <div>
                                <select className="custom-select" id="siteName">
                                <option selected>Site Building Name</option>
                                </select>
                            </div><br />
                            <div>
                                <select className="custom-select" id="segmentName">
                                <option selected>Segments</option>
                                </select>
                            </div><br />
                           <div>
                                <label for="example-text-input">Modify CFM Rate Factor:</label>
                                <input class="form-control" type="textbox"  id="cfmRateFactor" value="10" />
                            </div><br />
                                <div>
                                    <button type="submit" className="btn btn-primary">Submit</button>
                                </div>
                            </div>
                    </div>
                    </form>
            </div>


        );
      }
}

export default Ast

我通过控制台确认“ this.state.data”包含json文件中的所有信息,因此现在我尝试将客户端名称绑定到下拉列表。请问我做错了什么指南?

日武

在React中,您使用声明性方法而不是DOM操作:

<div>
  {['clientName', 'siteName', 'segmentName'].map(key => (
    <select key={key}>
      {this.state.data.map(({ [key]: value }) => <option key={value}>{value}</option>)}
    </select>
  ))}
</div>

这将生成3个下拉列表,并填充选项。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

了解D3.js如何将数据绑定到节点

React Js onClick下拉列表打开

如何将基于react.js的SPA部署到Azure App Service + CDN?

React.js-如何将值从子组件传递到祖父母组件?

如何在React-Js中添加依赖下拉列表

如何将CARTO映射集成到react.js代码

React JS-如何将变量(参数)传递到API URL?

如何将prop绑定到React中的组件

如何将Vue数据绑定到下拉列表

如何使用React.js中的Fetch API将数据发布到数据库

如何将嵌套的json数据绑定到angularjs下拉列表中?

如何将数据放入嵌套数组并将其绑定到HTML Knockout.js

如何将函数的“ this”绑定到类(React Component)

React.js Chrome扩展-如何将Background.js中的数据存储在React中的变量中?

如何将ID传递到React Js路径链接?

怎么使用knockout.js将数据动态绑定到下拉列表?

如何将JSON数据传递到.js文件

如何将jQuery与React js集成?

如何使用 React JS 插入下拉列表

React JS,单击显示元素的下拉列表

如何将数据绑定到 React Leaflet 中的标记点击?

如何将外部js脚本文件嵌入到react组件中

如何使用 React Js 创建多列下拉列表?

如何将three.js图形绑定到React功能元素?

如何将“Enter”键绑定到 React js 中的某个函数?

如何将整个 React JS 项目文件部署到 Github 进行协作

React.js MaterialUI:如何将 materiaUI 选择下拉列表的值与对应的列表项值绑定?

如何将请求 Axios 从 React JS 发布到 ASP.NET Core

如何将数据列表从烧瓶传递到 JS?