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

2024-06-05

我有一个 React JS 文件,我正在尝试将数据绑定到下拉列表。数据存储在以下测试 API/json 文件中:https://api.myjson.com/bins/okuxu 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 个下拉列表,其中填充了选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React JS - 如何将 json 数据绑定到下拉列表 的相关文章

随机推荐

  • iPhone 可以充当 eddystone 格式的信标吗

    我读到 Nexus6 和 Nexus9 只能充当 eddystone 格式的信标 目前我没有任何一部手机 我有一部iphone 我们可以用aniiphone来播放eddystone格式吗 不幸的是 这是不可能的 Apple 限制其 Core
  • Java认为我的主文件夹是C盘?

    由于某种原因 我必须更改某些配置或其他内容 因为在一个全新的项目中 我输入以下内容 System out println System getProperty user home 并得到以下输出 C 而以前 它常常返回类似的东西C User
  • 为什么删除 else 会减慢我的代码速度?

    考虑以下函数 def fact1 n if n lt 2 return 1 else return n fact1 n 1 def fact2 n if n lt 2 return 1 return n fact2 n 1 它们应该是等价的
  • 在 iPad 上使用 UIActionSheet

    Apple 的 UIActionSheet 文档让我感到困惑 首先 在 iPad 人机界面指南中 它说 要了解有关在代码中使用操作表的更多信息 请参阅 iPad 编程指南中的 使用弹出窗口显示内容 但在 使用弹出窗口显示内容 部分中 它根本
  • 使用mockito对DAO层进行单元测试

    我正在尝试使用 Mockito 对我的 Spring Hibernate 项目进行单元测试 以下是我的 DAO 类的实现 Repository public class EmployeeDAOImpl implements Employee
  • 将 NSOperation 子类化为并发且可取消

    我无法找到有关如何子类化的良好文档NSOperation并发并支持取消 我阅读了苹果文档 但找不到 官方 示例 这是我的源代码 synthesize isExecuting isExecuting synthesize isFinished
  • Bokeh,条形图和折线图的组合

    我试图在散景内的条形图顶部绘制一条线 我努力了 p1 figure p1 renderer append Bar p1 renderer append Line show p1 到目前为止我还没有运气 可以使用 Bokeh 将两个或多个图形
  • 最Pythonic的方式来打印*最多*一些小数位[重复]

    这个问题在这里已经有答案了 我想格式化浮点数列表 最多保留 2 位小数 但是 我不需要尾随零 也不想要尾随小数点 所以 举例来说 4 001 gt 4 4 797 gt 4 8 8 992 gt 8 99 13 577 gt 13 58 T
  • SBT - 使用汇编时多项目合并策略和构建 sbt 结构

    我有一个由多个较小项目组成的项目 其中一些项目相互依赖 例如 有一个依赖于 commons 项目的实用程序项目 其他项目可能依赖于公用事业或公共设施 也可能不依赖于两者 在 build sbt 中 我在文件末尾有程序集合并策略 以及程序集中
  • 在 PHP 中读取“分块”POST 数据

    我试图在发送时使用 Transfer Encoding chunked 从请求中读取 POST 数据 但在收到所有数据之前无法启动脚本 是否可以让 PHP能够在分块请求通过时对其做出反应吗 将 PHP 5 3 8 与 Apache 结合使用
  • 如何获取文件夹的大小,包括稀疏文件的表观大小? (du太慢了)

    我有一个包含很多KVM qcow2文件的文件夹 它们都是稀疏文件 现在我需要获取文件夹的总大小 qcow2 文件大小应计为表观大小 而不是实际大小 例如 图片 c9f38caf104b4d338cc1bbdd640dca89 qcow2 文
  • Visual Studio Code 中的 Pylint“未解析的导入”错误

    我正在使用以下设置 macOS v10 14 https en wikipedia org wiki MacOS Mojave 莫哈韦 Python 3 7 1 Visual Studio 代码 1 30 皮林特 2 2 2 姜戈2 1 4
  • 禁用“应用程序已停止工作”窗口

    我们获得了 NET WCF 服务 理想情况下该服务应具有 100 的正常运行时间 但有时我们的应用程序中会出现由第三方数据库连接组件引起的内存泄漏问题 我们配置 nnCron 来监视进程是否存在 并且当该服务的进程退出时 它应该再次启动它
  • 为什么区域 Google Cloud IP 地址都显示在美国?

    我在 asia east1 区域创建了一个虚拟机 它的 IP 地址为 35 201 212 242 当我在 iplocation net 等服务上查找此 IP 地址时 我被告知它位于美国 我在 australia southeast1 区域
  • Microsoft Office 应用程序的主要互操作程序集

    我正在尝试在我的 Web 服务器上安装 Microsoft Office 互操作程序集 用于从我的网站阅读 Word 文档 我可以只安装程序集吗 或者唯一的方法是安装办公套件 例外情况 Could not load file or asse
  • 查询格式错误,查询名称后没有 start_object

    我正在针对 AWS Elasticsearch 5 1 运行此查询并收到格式错误的查询错误 这是请求的正文 我基本上只是检查该字段在时间范围内是否存在 query bool filter bool must range timestamp
  • C 中文字数值的类型选择

    我想知道这一点 当我尝试将整数值分配给int变量 16 位编译器 整数 2 个字节 让我们说 int a a 40000 无法用将被截断的类型范围来表示 但我看到的是结果值a是 25000 或某个接近的数字 的位模式 这意味着编译器为十进制
  • RealityKit – 如何为自然光创建阴影捕捉器?

    我想创建一架飞机 func getShadowPlane width Float height Float gt ModelEntity let sphereResource MeshResource generatePlane width
  • 如何从网页中提取文本内容? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在用java开发一个应用程序 它
  • React JS - 如何将 json 数据绑定到下拉列表

    我有一个 React JS 文件 我正在尝试将数据绑定到下拉列表 数据存储在以下测试 API json 文件中 https api myjson com bins okuxu https api myjson com bins okuxu