如您在屏幕快照中所见,我正在尝试显示node.name和node.value。 node.value显示在<input>
中,所以如果我想更改它。但是,当我在输入字段中写入内容时,位于dataSource.data
中的原始数据不会更改-保持不变。显然,没有两种绑定方式,但是如何实现呢?
我尝试过使用([ngModel])="node.value"
,但这没用。
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding matTreeNodeToggle>
<button mat-icon-button disabled></button>
<div class="col-l-4 col-m-4 col-s-4">
{{node.name}}
<span class="required" *ngIf="node.mandatory === 1">*</span>
</div>
<div class="col-l-8 col-m-8 col-s-8">
<input [type]="node.base_Type" class="form-input" [value]='node.value'>
</div>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding>
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<strong>{{node.name}}</strong>
</mat-tree-node>
</mat-tree>
所以我想,最后我将从dataSource.data
中提取数据,那些在那里被更改的节点的属性值发生了变化,而不是原始的。