Как сделать маршрутизацию на дочерний элемент древовидной таблицы? - PullRequest
0 голосов
/ 14 января 2019

При нажатии на последний элемент древовидной таблицы я хочу перенаправить его на другой экран (url) и показать таблицу.

Например:

Я хочу выбрать последний узел родительского узла каждого элемента в таблице дерева.

При щелчке дочернего узла он должен перейти на новый экран.

выглядит так:

>Aamir
 >Ranchi
    > 12
    > 20
 > Bangalore
    > 22
>Abhinav
 > Bangalore
   >26

Поэтому, когда пользователь выбирает 12, 20, 22 или 26, он должен перейти к новому экрану.

Шаблон:

<h3>Dynamic Columns</h3>
<p-treeTable [value]="files2" [columns]="cols" >
    <ng-template pTemplate="header" let-columns>
        <tr [ttRow]="rowNode">
            <th *ngFor="let col of columns">
                {{col.header}}
            </th>
        </tr>
    </ng-template>
    <ng-template pTemplate="body" let-rowNode let-rowData="rowData" let-columns="columns">
        <tr >
            <td *ngFor="let col of columns; let i = index">
                <p-treeTableToggler [rowNode]="rowNode" *ngIf="i == 0"></p-treeTableToggler>
                {{rowData[col.field]}}
            </td>
        </tr>
    </ng-template>
</p-treeTable>

1 Ответ

0 голосов
/ 14 января 2019

Я думаю, что важная вещь, о которой вы не упомянули, это то, что это primeng-treetable.

Поиграв немного с этим компонентом и прочитав исходный код, я поймал, что вы можете использовать переменную шаблона rowNode, которая содержит всю необходимую информацию об узле. В вашем случае вы можете проверить, нет ли у узла дочерних элементов для использования ссылки:

<a href="/" *ngIf="!rowNode.node.children">{{rowData.name}}</a>
<span *ngIf="rowNode.node.children">{{rowData.name}}</span>

Вы можете проверить работоспособность стекаблица здесь: https://stackblitz.com/edit/test-primeng-7cqjzl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...