如何在颤振中实现树状视图

时间:2021-03-03 15:45:52

标签: flutter dart

我想从 json 数据创建树视图,我找到了一个包 Graph View 并尝试实现它,但未能从 json 数据生成视图。

我的数据库死了如下

  • 姓名
  • 家长 ID
  • 儿童身份证

电流输出 enter image description here

这是我当前的代码

 List<Tree> _treeList = [];
    
      void generate() {
        _treeList.add(Tree(text: 'one',pid: 1,cid: 2));
        _treeList.add(Tree(text: 'two',pid: 1,cid: 3));
        _treeList.add(Tree(text: 'three',pid: 2,cid: 4));
        _treeList.add(Tree(text: 'four',pid: 2,cid: 5));
        _treeList.add(Tree(text: 'five',pid: 2,cid: 6));
        _treeList.add(Tree(text: 'six',pid: 2,cid: 6));
        _treeList.add(Tree(text: 'seven',pid: 2,cid: 8));
        _treeList.add(Tree(text: 'eight',pid: 4,cid: 9));
        _treeList.add(Tree(text: 'nine',pid: 4,cid: 10));
        _treeList.add(Tree(text: 'ten',pid: 4,cid: 11));
        _treeList.add(Tree(text: 'eleven',pid: 11,cid: 12));
        _treeList.add(Tree(text: 'twelve',pid: 11,cid: 13));
      }
    void loadData()async {
    await generate();
    for (var i in _treeList) {
    
   
     graph.addEdge(Node(getNodeText(i.text,i.pid,i.cid)),Node(getNodeText(i.text,i.pid,i.cid)));

//in graph.addEdge(parent Data,Child Data); , this is what I am looking to achieve so it can generate tree view
    }
    
      builder
        ..siblingSeparation = (100)
        ..levelSeparation = (150)
        ..subtreeSeparation = (150)
        ..orientation = BuchheimWalkerConfiguration.ORIENTATION_TOP_BOTTOM;
    
    }

这个包需要有一个父子节点才能被传递。但是这段代码给了我如下错误

flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(441.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(489.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(457.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(448.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(427.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(502.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(487.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(491.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(456.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(563.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
    BoxDecoration(borderRadius: BorderRadius.circular(4.0),
      boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
        1.0)]
      )
  ), _size: Size(569.0, 89.0)} is not connected to primary ancestor

任何帮助将不胜感激,如果有其他方法可以实现相同的目标,也请建议我

0 个答案:

没有答案
相关问题