Los nodos secundarios aparecen en todos los nodos principales

manejado

Los nodos secundarios aparecen en todos los nodos principales. El resultado esperado es que los nodos secundarios aparecerán en un nodo principal específico. También hay una instancia en la que un nodo secundario vuelve a tener un nodo secundario.

Se nos recomendó no usar una biblioteca para este porque antes usábamos la vista de árbol ngx pero cuando la usamos, encontramos dificultades para filtrar el contenido de la vista de árbol cuando usamos otro cuadro de texto de búsqueda.

Lo primero que hice fue usar el bucle FOR para los nodos principales. Utilizo la condición IF para comparar si este nodo padre tiene hijos (en una matriz de objetos). Si se cumple la condición IF, estos nodos secundarios se insertarán en una matriz para ESE NODO PADRE ESPECÍFICO y también devolverán una variable booleana que se usará en * ngIf.

Los datos pasados ​​por this.service.Hierarchy (); es

[{texto: "Parent1", valor: 1, niños: Array (5), comprobado: falso},

{texto: "Parent2", valor: 1, niños: Array (0), comprobado: falso},

{texto: "Parent3", valor: 1, niños: Array (0), comprobado: falso},

{texto: "Parent4", valor: 1, niños: Array (0), comprobado: falso},]

en el archivo .ts

createTree() {
let hierarchy= this.service.Hierarchy(); //data passed
this.treeComponent = hierarchy; 

for(let i=0; i<this.treeComponent.length; i++){

  //Compare parent if has a children, Example 1 has a children
  if(this.treeComponent[i].children.length != 0 ){ 
    for(var children of this.treeComponent[i].children){

      //use for ngIF
      this.isChildrenAvailable = true;
      this.child.push(children); 
    }     
  }
}}

en el archivo .html

<ul *ngFor="let item of treeComponent">
  <input type="radio">
  {{item.text}}

    <div *ngIf = "isChildrenAvailable">
      <ul *ngFor="let child of child" >
        <input type="radio">
           {{child.text}}
     </ul>
   </div>
 </ul>

Resultado Esperado:

  • Padre 1

    Niño 1 (hijo del padre 1)

    Niño 2 (hijo del padre 1)

    `* Niño Niño 1 (hijos de niños 2)

  • Padre 2

  • Padre 3

Resultado actual:

  • Padre 1

    Niño 1 (hijo del padre 1)

    Niño 2 (hijo del padre 1)

  • Padre 2

    Niño 1 (hijo del padre 1)

    Niño 2 (hijo del padre 1)

  • Padre 3

    Niño 1 (hijo del padre 1)

    Niño 2 (hijo del padre 1)

izmaylovdev

simplemente puede iterar sobre la matriz secundaria en la plantilla, si necesita soporte para el anidamiento sin fin, puede usar componentes / plantillas recursivos

<ul>
  <li *ngFor="let item of treeComponent">
    <input type="radio">{{item.text}}
    <div *ngIf="item.children.length">
      <ul>
        <li *ngFor="let child of item.children">
           <input type="radio">{{child.text}}
        </li>
     </ul>
    </div>
  </li>
</ul>

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Obtenga todos los nodos secundarios de los nodos principales

XSLT ordena los nodos secundarios en diferentes nodos principales

XSLT ordena los nodos secundarios en diferentes nodos principales

Elimine todos los nodos secundarios y los nodos principales utilizando la función recursiva de PHP

Deshabilitar todos los nodos principales en JavaFX mientras se puede hacer clic en todos sus elementos secundarios

Agrupar nodos secundarios debajo de cada uno de los nodos principales en XSLT

Establecer márgenes para todos los nodos secundarios en fxml

Extraiga todos los nodos XML secundarios en SQL Server

No aparecen los nodos

Obtener todos los nodos secundarios recursivos

js: duplica todos los nodos secundarios

SelectNodes no extrae todos los nodos secundarios correctamente

Los nodos de GameScene no aparecen en SKScene

¿Cómo consulto los nodos secundarios XML repetidos dentro de los nodos repetidos principales?

XPath select en los nodos secundarios

XSLT que combina nodos secundarios donde los nodos principales tienen un valor determinado (desconocido)

Filtrar TreeView con todos los nodos y elementos secundarios

Eliminar todos los nodos secundarios de un nodo

Firebase Web update () elimina todos los demás nodos secundarios

Cifra Neo4j para todos los nodos secundarios

XPath in Query para buscar todos los nodos secundarios

d3.js v7 - scaleOrdinal - Colorea los nodos secundarios igual que los principales

cómo encontrar todos los nodos secundarios en el árbol jerárquico

Cómo obtener todos los nodos secundarios con nombre en Swift con Scene Kit

Obtenga todos los nodos secundarios del árbol modelo en MongoDB con Go

Elimine todos los nodos secundarios del padre excepto uno específico, un xml en c #

Cómo encontrar todos los nodos secundarios de un nodo en titiritero

transformar los nodos de movimiento con los mismos nombres en sus nodos principales

Nodos xml () en tsql: hacer coincidir los nodos principales con los atributos del nodo secundario

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo