【发布时间】:2019-05-05 08:20:47
【问题描述】:
我使用了 Angular 7 和 ngx-treeview 组件。
我使用了 decoupleChildFromParent= true 的配置。
从这个树视图我们只得到子树的值。 我要获取父节点值。
这是我的 html 代码:
<ng-template #itemTemplate let-item="item" let-onCollapseExpand="onCollapseExpand" let-onCheckedChange="onCheckedChange">
<div class="form-inline row-item">
<i *ngIf="item.children" (click)="onCollapseExpand()" aria-hidden="true" class="fa" [class.fa-caret-right]="item.collapsed"
[class.fa-caret-down]="!item.collapsed"></i>
<div class="form-check">
<input type="checkbox" class="form-check-input" [(ngModel)]="item.checked" (ngModelChange)="onCheckedChange()" [disabled]="item.disabled"
[indeterminate]="item.indeterminate" />
<label class="form-check-label" (click)="item.checked = !item.checked; onCheckedChange()">
{{item.text}}
</label>
</div>
</div>
</ng-template>
<div class="row">
<div class="col-6">
<div class="form-group">
<div class="d-inline-block">
<ngx-treeview [items]="items" [itemTemplate]="itemTemplate" (selectedChange)="onSelectedChange($event)">
</ngx-treeview>
</div>
</div>
</div>
</div>
我在这段代码中使用了 onSelectedChange 函数:
onSelectedChange(downlineItems: DownlineTreeviewItem[]) {
this.rows = [];
downlineItems.forEach(downlineItem => {
const item = downlineItem.item;
const value = item.value;
const texts = [item.text];
let parent = downlineItem.parent
while (!isNil(parent)) {
texts.push(parent.item.text);
parent = parent.parent;
}
const reverseTexts = reverse(texts);
const row = `${reverseTexts.join(' -> ')} : ${value}`;
this.rows.push(row);
this.rowsSelect=value;
});
}
当我选中父复选框时,selectedChange 事件触发了空值数组。
我想在没有选择子项时检索所选父项的值
【问题讨论】:
-
感谢您的回复,我遵循了这个例子。但是这个例子只允许使用 onSelectedChange 函数获取子节点的值,我的目标是获取父节点的值
标签: angular ngx-treeview