当值具有 "type" 属性 时如何在 p-tree 中使用 ng-template

How to use ng-template in p-tree when value have "type" property

ng-template 在我从传递给 p-tree 的数据中删除 "type" 属性 后开始工作,我该如何修复它?我想我做错了什么,因为 "type" 是 TreeNode 属性之一

TreeNode.ts

export interface TreeNode {
    label?: string;
    data?: any;
    icon?: any;
    expandedIcon?: any;
    collapsedIcon?: any;
    children?: TreeNode[];
    leaf?: boolean;
    expanded?: boolean;
    type?: string;
    parent?: TreeNode;
    partialSelected?: boolean;
    styleClass?: string;
    draggable?: boolean;
    droppable?: boolean;
    selectable?: boolean;
}

我提供一个例子你可以看看here!

查看您的 Plnkr,您唯一需要使用类型的时间是在使用多个模板时。例如,您的 type 为 'test'。要使用它,您将按如下方式添加模板(注意第二个 ngTemplate 的 pTemplate):

<p-tree [value]="filesTree6">
    <ng-template let-node pTemplate="default">
        <input [(ngModel)]="node.label" type="text" style="width:100%">
    </ng-template>
    <ng-template let-node pTemplate="test">
        <h3>{{node.label}}</h3>
    </ng-template>
</p-tree>