代码之家  ›  专栏  ›  技术社区  ›  techie_questie

React JS树视图以显示api响应

  •  0
  • techie_questie  · 技术社区  · 6 年前

    在我的react应用程序中,我实现了一个树视图结构,以更可读的格式显示api响应。我使用树视图反应引导。

    import React from 'react';
    import ReactDOM from 'react-dom';
    import TreeView from 'treeview-react-bootstrap'
    
    class Example extends React.Component {
        constructor(){
            super();
            // SET YOUR DATA
            this.state = {
                data: [
                    {
                        text: "John Peter",
                        nodes: [
                          {
                            text: "ID: 11111",
                            nodes: [
                              {
                                text: "VIN"
                              },
                              {
                                text: "Policy Effective Date"
                              },
                              {
                                text: "Policy Expiration Date"
                              },
                              {
                                text: "Vehicle Make"
                              },
                              {
                                text: "Vehicle Model"
                              }
                            ]
                          },
                          {
                            text: "ID: 123456",
                            nodes: [
                                {
                                  text: "VIN"
                                },
                                {
                                  text: "Policy Effective Date"
                                },
                                {
                                  text: "Policy Expiration Date"
                                },
                                {
                                  text: "Vehicle Make"
                                },
                                {
                                  text: "Vehicle Model"
                                }
                              ]
                          }
                        ]
                      },
                      {
                        text: "Scott Brown"
                      }
                ]
            }
    
        }
    
        render(){
            return (
                // RENDER THE COMPONENT
                <TreeView data={this.state.data} />
            );
        }
    }
    
    export default Example
    

    [
                        {
                            "id": "1234",
                            "name": "John Scott",
                            "vin": "45",
                            "make": "Toyota",
                            "model": "Etios"
                        },
                        {
                            "id": "4567",
                            "name": "James Scott",
                            "vin": "67",
                            "make": "Hyundai",
                            "model": "Etios"
                        }
    ]
    

    如果您看到响应,我希望我的键值打印在树结构中。

    有没有一种方法可以使这个响应与treeview react引导相适应?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Kunal Parekh    6 年前

    你可以像这样改变反应。刚刚添加了一个虚拟响应。请检查以下代码,并让我知道这是否有帮助:

    import React from "react";
    import ReactDOM from "react-dom";
    import TreeView from "treeview-react-bootstrap";
    import axios from "axios";
    
    class Example extends React.Component {
        constructor() {
            super();
            // SET YOUR DATA
            this.state = {
                data: []
            };
        }
        componentDidMount() {
            axios
                .get("https://www.mocky.io/v2/5bb85d723000005f00f93bb6")
                .then(data => {
                    let transformedData = data.data.map(d => {
                        return {
                            text: d.text,
                            nodes: [
                                {
                                    text: "dummy 1",
                                    nodes: []
                                }
                            ]
                        };
                    });
                    this.setState({ data: transformedData });
                });
        }
    
        render() {
            return (
                // RENDER THE COMPONENT
                <TreeView data={this.state.data} />
            );
        }
    }
    
    ReactDOM.render(<Example />, document.getElementById("app"));
    

    你也可以在这里看到它的作用: https://codesandbox.io/s/73ryny9ywq?autoresize=1&hidenavigation=1