Ant-design: Dynamischer Baum mit antd Tree & TreeNode

Erstellt am 22. Jan. 2017  Â·  3Kommentare  Â·  Quelle: ant-design/ant-design

const Leaf = ({ id }) => <Tree.TreeNode title={doing something dynamic here} />

...
<Tree>
    { instances.map(instance => <Leaf key={instance} id={instance} />) }
</Tree>

Es sieht so aus, als ob der Ameisenbaum nicht dynamisch/komponentenorientiert ist. Es gibt keine Möglichkeit, einen Treenode zurückzugeben, ohne auf Fehler wie TypeError: props.filterTreeNode is not a function zu stoßen.

Ich weiß nicht, wie ich das lösen soll. Jede Blattkomponente muss reaktiv sein, es gibt keine Möglichkeit, alle verschachtelten Daten im Voraus zu erhalten, es sei denn, ich rendere den gesamten Baum für jede Änderung, was aus Leistungsgründen nicht möglich ist.

Hilfreichster Kommentar

@yesmeck @benjycui @warmhug
Besteht die Möglichkeit, dass der TreeNode eine eigenständige und zusammensetzbare Klasse wird? Da Tree und TreeNode getrennte Klassen in rc-tree sind, sollte dies möglich sein, oder irre ich mich?

Ich würde TreeNode wirklich als eigenständige Klasse begrüßen, da sie viele Möglichkeiten bieten und sich "reaktionsfreudiger" anfühlen würde.

Alle 3 Kommentare

Hallo @drcmda , TreeNode kann mit der aktuellen Architektur nicht komponiert werden.

Ändern Sie Ihren Code in:

<Tree>
    { instances.map(instance => 
      <Tree.TreeNode key={instance} title={doing something dynamic here} />) 
    }
</Tree>

@yesmeck Ich fürchte, das ist nicht möglich, weil es bedeuten würde, dass ich vorher die verschachtelte Struktur haben muss, aber nur verschachtelte Komponenten kennen ihre Unterkomponenten (sie sind an den Zustand gebunden). Am Ende habe ich jedoch meinen eigenen Baum geschrieben. Ich habe große Hoffnungen, dass dies eines Tages angegangen wird. :)

@yesmeck @benjycui @warmhug
Besteht die Möglichkeit, dass der TreeNode eine eigenständige und zusammensetzbare Klasse wird? Da Tree und TreeNode getrennte Klassen in rc-tree sind, sollte dies möglich sein, oder irre ich mich?

Ich würde TreeNode wirklich als eigenständige Klasse begrüßen, da sie viele Möglichkeiten bieten und sich "reaktionsfreudiger" anfühlen würde.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen